gitlab_quality-test_tooling 3.21.3 → 3.21.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 200252eb5e20a931ca64bd835400572bc3f059428834a377fce3edce25cdfbfc
4
- data.tar.gz: aa0a9707d616d5c8a86736ddada7f65721ffc7ea7f37b80ab69c41c1e62ec5c3
3
+ metadata.gz: cc1eb2f60dd3f394c55bfbaff26309fbad61afd5eeceaa9c794092c1997f03eb
4
+ data.tar.gz: 5bfe5172b7ef0212b31b3eba7eb2483d1bebe57d2627d8b0863e0b5df61d7348
5
5
  SHA512:
6
- metadata.gz: 439bd19bf631d9f9416acbefd77ae5ebad551ff2a06840527c2b5af0072d481b98cf89a42565e98165f2b78a2bfcf484f22826a202ce3b8f7cdaf4e19e48db14
7
- data.tar.gz: 1af8b9ed7eee499fb9c9ac09d2a697da53e3d608944799070c7ec40e5078ff4c96bc7cf15b6487cedc7e3402e799c57f3448ebcbc71feb988a28184cdbc7fef6
6
+ metadata.gz: 9b892716ac4868efafa4dfebea723db41e0eb62d4bf036bbc2b36d0cd79f9e1fd3d58a6e8104f8a8ecf4999dae3315cd9f4103f3ef4e43556f28a0a0192062a7
7
+ data.tar.gz: 5c690dc16665ac12a38abb803af01399ded95c49c5b071127c7e0d67fc7e26dd1c9c87c9d122b8d3262f6e8ae7660a093238bbb8ba822d156caf9b6ed26f3abc
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitlab_quality-test_tooling (3.21.3)
4
+ gitlab_quality-test_tooling (3.21.4)
5
5
  activesupport (>= 7.0)
6
6
  amatch (~> 0.4.1)
7
7
  fog-google (~> 1.25)
@@ -134,26 +134,21 @@ module GitlabQuality
134
134
  def fetch_existing_mappings(ci_project_path, records) # rubocop:disable Metrics/AbcSize
135
135
  # Query for ALL latest mappings for this project
136
136
  # We filter in Ruby rather than building dynamic SQL to avoid injection risks
137
+ # Aggregate rather than matching rows against a set of the latest timestamps.
138
+ # The set form has to materialise one tuple per stored mapping before it can
139
+ # filter anything, which exceeds the server's memory limit at this table's
140
+ # size; argMax streams and peaks at roughly a quarter of it.
137
141
  sql = <<~SQL
138
142
  SELECT
139
143
  test_file,
140
144
  source_file,
141
- category,
142
- `group`,
143
- stage,
144
- section
145
+ argMax(category, timestamp) AS category,
146
+ argMax(`group`, timestamp) AS `group`,
147
+ argMax(stage, timestamp) AS stage,
148
+ argMax(section, timestamp) AS section
145
149
  FROM #{full_table_name}
146
150
  WHERE ci_project_path = {project_path:String}
147
- AND (ci_project_path, test_file, source_file, timestamp) IN (
148
- SELECT
149
- ci_project_path,
150
- test_file,
151
- source_file,
152
- MAX(timestamp) AS timestamp
153
- FROM #{full_table_name}
154
- WHERE ci_project_path = {project_path:String}
155
- GROUP BY ci_project_path, test_file, source_file
156
- )
151
+ GROUP BY test_file, source_file
157
152
  SQL
158
153
 
159
154
  # Substitute project_path value using manual escaping (client doesn't support parameterized queries)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GitlabQuality
4
4
  module TestTooling
5
- VERSION = "3.21.3"
5
+ VERSION = "3.21.4"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab_quality-test_tooling
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.21.3
4
+ version: 3.21.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab Quality
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-09-02 00:00:00.000000000 Z
11
+ date: 2026-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: climate_control