@@ -34,13 +34,16 @@ def callee(session):
34
34
`build_type` Utf8 NOT NULL,
35
35
`branch` Utf8 NOT NULL,
36
36
`runs_window` Uint64 NOT NULL,
37
+ `first_run` Timestamp,
38
+ `last_run` Timestamp ,
39
+ `owners` Utf8 NOT NULL,
37
40
`history` String,
38
41
`history_class` String,
39
42
`pass_count` Uint64,
40
43
`mute_count` Uint64,
41
44
`fail_count` Uint64,
42
45
`skip_count` Uint64,
43
- PRIMARY KEY (`test_name`, `suite_folder`, `full_name`,date_window,runs_window,build_type,branch)
46
+ PRIMARY KEY (`test_name`, `suite_folder`, `full_name`,date_window,runs_window,build_type,branch,owners )
44
47
)
45
48
PARTITION BY HASH(`full_name`,build_type,branch)
46
49
WITH (STORE = COLUMN)
@@ -59,6 +62,9 @@ def bulk_upsert(table_client, table_path, rows):
59
62
.add_column ("branch" , ydb .OptionalType (ydb .PrimitiveType .Utf8 ))
60
63
.add_column ("full_name" , ydb .OptionalType (ydb .PrimitiveType .Utf8 ))
61
64
.add_column ("date_window" , ydb .OptionalType (ydb .PrimitiveType .Date ))
65
+ .add_column ("first_run" , ydb .OptionalType (ydb .PrimitiveType .Timestamp ))
66
+ .add_column ("last_run" , ydb .OptionalType (ydb .PrimitiveType .Timestamp ))
67
+ .add_column ("owners" , ydb .OptionalType (ydb .PrimitiveType .Utf8 ))
62
68
.add_column ("runs_window" , ydb .OptionalType (ydb .PrimitiveType .Uint64 ))
63
69
.add_column ("history" , ydb .OptionalType (ydb .PrimitiveType .String ))
64
70
.add_column ("history_class" , ydb .OptionalType (ydb .PrimitiveType .String ))
@@ -150,7 +156,10 @@ def main():
150
156
history_list,
151
157
dist_hist,
152
158
suite_folder,
153
- test_name
159
+ test_name,
160
+ owners,
161
+ first_run,
162
+ last_run
154
163
from (
155
164
select
156
165
full_name,
@@ -160,13 +169,20 @@ def main():
160
169
AGG_LIST(status) as history_list ,
161
170
String::JoinFromList( AGG_LIST_DISTINCT(status) ,',') as dist_hist,
162
171
suite_folder,
163
- test_name
172
+ test_name,
173
+ owners,
174
+ min(run_timestamp) as first_run,
175
+ max(run_timestamp) as last_run
164
176
from (
165
177
select * from (
166
- select t1.test_name, t1.suite_folder, t1.full_name,
167
- Date('{ date } ') as date_base,
168
- '{ build_type } ' as build_type,
169
- '{ branch } ' as branch
178
+ select
179
+ t1.suite_folder,
180
+ t1.test_name,
181
+ t1.full_name,
182
+ t1.owners,
183
+ Date('{ date } ') as date_base,
184
+ '{ build_type } ' as build_type,
185
+ '{ branch } ' as branch
170
186
from `test_results/analytics/testowners` as t1
171
187
) as test_and_date
172
188
left JOIN (
@@ -175,11 +191,11 @@ def main():
175
191
suite_folder || '/' || test_name as full_name,
176
192
run_timestamp,
177
193
status ,
178
- ROW_NUMBER() OVER (PARTITION BY test_name ORDER BY run_timestamp DESC) AS run_number
194
+ ROW_NUMBER() OVER (PARTITION BY suite_folder, test_name ORDER BY run_timestamp DESC) AS run_number
179
195
from `test_results/test_runs_column`
180
196
where
181
- run_timestamp <= Date('{ date } ')
182
- and run_timestamp >= Date('{ date } ') -14 *Interval("P1D")
197
+ run_timestamp <= Date('{ date } ') + Interval("P1D")
198
+ and run_timestamp >= Date('{ date } ') -13 *Interval("P1D")
183
199
and job_name in ('Postcommit_relwithdebinfo','Postcommit_asan')
184
200
and build_type = '{ build_type } '
185
201
and status != 'skipped'
@@ -189,7 +205,7 @@ def main():
189
205
) as hist
190
206
ON test_and_date.full_name=hist.full_name
191
207
)
192
- GROUP BY full_name,suite_folder,test_name,date_base,build_type,branch
208
+ GROUP BY full_name,suite_folder,test_name,date_base,build_type,branch,owners
193
209
194
210
)
195
211
"""
@@ -217,6 +233,9 @@ def main():
217
233
prepared_for_update_rows .append ({
218
234
'suite_folder' : row ['suite_folder' ],
219
235
'test_name' : row ['test_name' ],
236
+ 'first_run' : row ['first_run' ],
237
+ 'last_run' : row ['last_run' ],
238
+ 'owners' : row ['owners' ],
220
239
'full_name' : row ['full_name' ],
221
240
'date_window' : row ['date_base' ],
222
241
'build_type' : row ['build_type' ],
0 commit comments