@@ -134,9 +134,9 @@ String decorateQuery(@Nonnull String query) {
134
134
}
135
135
136
136
final void checkResult (@ Nonnull String currentQuery , @ Nonnull Object actual , @ Nonnull String queryDescription ,
137
- @ Nonnull YamlConnection connection ) {
137
+ @ Nonnull YamlConnection connection , @ Nonnull List < String > setups ) {
138
138
try {
139
- checkResultInternal (currentQuery , actual , queryDescription );
139
+ checkResultInternal (currentQuery , actual , queryDescription , setups );
140
140
} catch (AssertionFailedError e ) {
141
141
throw executionContext .wrapContext (e ,
142
142
() -> "‼️Check result failed in config at line " + getLineNumber () + " against connection for versions " + connection .getVersions (),
@@ -163,7 +163,7 @@ final void checkError(@Nonnull SQLException actual, @Nonnull String queryDescrip
163
163
}
164
164
165
165
abstract void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual ,
166
- @ Nonnull String queryDescription ) throws SQLException ;
166
+ @ Nonnull String queryDescription , @ Nonnull List < String > setups ) throws SQLException ;
167
167
168
168
void checkErrorInternal (@ Nonnull SQLException e , @ Nonnull String queryDescription ) throws SQLException {
169
169
final var diffMessage = String .format (Locale .ROOT , "‼️ statement failed with the following error at line %s:%n" +
@@ -181,7 +181,8 @@ private static QueryConfig getCheckResultConfig(boolean isExpectedOrdered, @Null
181
181
return new QueryConfig (configName , value , lineNumber , executionContext ) {
182
182
183
183
@ Override
184
- void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual , @ Nonnull String queryDescription ) throws SQLException {
184
+ void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual ,
185
+ @ Nonnull String queryDescription , @ Nonnull List <String > setups ) throws SQLException {
185
186
logger .debug ("⛳️ Matching results of query '{}'" , queryDescription );
186
187
try (RelationalResultSet resultSet = (RelationalResultSet )actual ) {
187
188
final var matchResult = Matchers .matchResultSet (getVal (), resultSet , isExpectedOrdered );
@@ -220,7 +221,8 @@ String decorateQuery(@Nonnull String query) {
220
221
221
222
@ SuppressWarnings ({"PMD.CloseResource" , "PMD.EmptyWhileStmt" }) // lifetime of autocloseable resource persists beyond method
222
223
@ Override
223
- void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual , @ Nonnull String queryDescription ) throws SQLException {
224
+ void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual ,
225
+ @ Nonnull String queryDescription , @ Nonnull List <String > setups ) throws SQLException {
224
226
logger .debug ("⛳️ Matching plan for query '{}'" , queryDescription );
225
227
final var resultSet = (RelationalResultSet ) actual ;
226
228
resultSet .next ();
@@ -231,6 +233,7 @@ void checkResultInternal(@Nonnull String currentQuery, @Nonnull Object actual, @
231
233
final var identifier = PlannerMetricsProto .Identifier .newBuilder ()
232
234
.setBlockName (blockName )
233
235
.setQuery (currentQuery )
236
+ .addAllSetups (setups )
234
237
.build ();
235
238
final var expectedPlannerMetricsInfo = metricsMap .get (identifier );
236
239
@@ -302,7 +305,7 @@ void checkResultInternal(@Nonnull String currentQuery, @Nonnull Object actual, @
302
305
.setInsertReusedCount (actualPlannerMetrics .getLong (8 )))
303
306
.build ();
304
307
if (expectedPlannerMetricsInfo == null ) {
305
- executionContext .putMetrics (blockName , currentQuery , lineNumber , actualInfo , true );
308
+ executionContext .putMetrics (blockName , currentQuery , lineNumber , actualInfo , setups );
306
309
executionContext .markDirty ();
307
310
logger .debug ("⭐️ Successfully inserted new planner metrics at line {}" , getLineNumber ());
308
311
} else {
@@ -331,7 +334,7 @@ void checkResultInternal(@Nonnull String currentQuery, @Nonnull Object actual, @
331
334
actualCountersAndTimers ,
332
335
metricsDescriptor .findFieldByName ("insert_reused_count" ),
333
336
lineNumber );
334
- executionContext .putMetrics (blockName , currentQuery , lineNumber , actualInfo , isDifferent );
337
+ executionContext .putMetrics (blockName , currentQuery , lineNumber , actualInfo , setups );
335
338
if (isDifferent ) {
336
339
if (executionContext .shouldCorrectMetrics ()) {
337
340
executionContext .markDirty ();
@@ -364,7 +367,8 @@ private static QueryConfig getCheckErrorConfig(@Nullable Object value, int lineN
364
367
return new QueryConfig (QUERY_CONFIG_ERROR , value , lineNumber , executionContext ) {
365
368
366
369
@ Override
367
- void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual , @ Nonnull String queryDescription ) throws SQLException {
370
+ void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual ,
371
+ @ Nonnull String queryDescription , @ Nonnull List <String > setups ) throws SQLException {
368
372
Matchers .ResultSetPrettyPrinter resultSetPrettyPrinter = new Matchers .ResultSetPrettyPrinter ();
369
373
if (actual instanceof ErrorCapturingResultSet ) {
370
374
Matchers .printRemaining ((ErrorCapturingResultSet ) actual , resultSetPrettyPrinter );
@@ -406,7 +410,8 @@ private static QueryConfig getCheckCountConfig(@Nullable Object value, int lineN
406
410
return new QueryConfig (QUERY_CONFIG_COUNT , value , lineNumber , executionContext ) {
407
411
408
412
@ Override
409
- void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual , @ Nonnull String queryDescription ) {
413
+ void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual ,
414
+ @ Nonnull String queryDescription , @ Nonnull List <String > setups ) {
410
415
logger .debug ("⛳️ Matching count of update query '{}'" , queryDescription );
411
416
if (!Matchers .matches (getVal (), actual )) {
412
417
reportTestFailure (String .format (Locale .ROOT , "‼️ Expected count value %d, but got %d at line %d" ,
@@ -428,7 +433,8 @@ String decorateQuery(@Nonnull String query) {
428
433
429
434
@ SuppressWarnings ("PMD.CloseResource" ) // lifetime of autocloseable persists beyond method
430
435
@ Override
431
- void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual , @ Nonnull String queryDescription ) throws SQLException {
436
+ void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual ,
437
+ @ Nonnull String queryDescription , @ Nonnull List <String > setups ) throws SQLException {
432
438
logger .debug ("⛳️ Matching plan hash of query '{}'" , queryDescription );
433
439
final var resultSet = (RelationalResultSet ) actual ;
434
440
resultSet .next ();
@@ -445,7 +451,8 @@ public static QueryConfig getNoCheckConfig(int lineNumber, @Nonnull YamlExecutio
445
451
return new QueryConfig (QUERY_CONFIG_NO_CHECKS , null , lineNumber , executionContext ) {
446
452
@ SuppressWarnings ("PMD.CloseResource" ) // lifetime of autocloseable persists beyond method
447
453
@ Override
448
- void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual , @ Nonnull String queryDescription ) throws SQLException {
454
+ void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual ,
455
+ @ Nonnull String queryDescription , @ Nonnull List <String > setups ) throws SQLException {
449
456
if (actual instanceof RelationalResultSet ) {
450
457
final var resultSet = (RelationalResultSet ) actual ;
451
458
// slurp
@@ -462,7 +469,8 @@ void checkResultInternal(@Nonnull String currentQuery, @Nonnull Object actual, @
462
469
private static QueryConfig getMaxRowConfig (@ Nonnull Object value , int lineNumber , @ Nonnull YamlExecutionContext executionContext ) {
463
470
return new QueryConfig (QUERY_CONFIG_MAX_ROWS , value , lineNumber , executionContext ) {
464
471
@ Override
465
- void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual , @ Nonnull String queryDescription ) throws SQLException {
472
+ void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual ,
473
+ @ Nonnull String queryDescription , @ Nonnull List <String > setups ) throws SQLException {
466
474
Assert .failUnchecked ("No results to check on a maxRow config" );
467
475
}
468
476
};
@@ -472,7 +480,7 @@ private static QueryConfig getSetupConfig(final Object value, final int lineNumb
472
480
return new QueryConfig (QUERY_CONFIG_SETUP , value , lineNumber , executionContext ) {
473
481
@ Override
474
482
void checkResultInternal (@ Nonnull final String currentQuery , @ Nonnull final Object actual ,
475
- @ Nonnull final String queryDescription ) throws SQLException {
483
+ @ Nonnull final String queryDescription , @ Nonnull List < String > setups ) throws SQLException {
476
484
Assert .failUnchecked ("No results to check on a setup config" );
477
485
}
478
486
};
@@ -482,7 +490,8 @@ private static QueryConfig getDebuggerConfig(@Nonnull Object value, int lineNumb
482
490
return new QueryConfig (QUERY_CONFIG_DEBUGGER , DebuggerImplementation .valueOf (((String )value ).toUpperCase (Locale .ROOT )),
483
491
lineNumber , executionContext ) {
484
492
@ Override
485
- void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual , @ Nonnull String queryDescription ) throws SQLException {
493
+ void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual ,
494
+ @ Nonnull String queryDescription , @ Nonnull List <String > setups ) throws SQLException {
486
495
Assert .failUnchecked ("No results to check on a debugger config" );
487
496
}
488
497
};
@@ -496,7 +505,8 @@ public static QueryConfig getSupportedVersionConfig(Object rawVersion, final int
496
505
}
497
506
return new QueryConfig (QUERY_CONFIG_SUPPORTED_VERSION , rawVersion , lineNumber , executionContext ) {
498
507
@ Override
499
- void checkResultInternal (@ Nonnull final String currentQuery , @ Nonnull final Object actual , @ Nonnull final String queryDescription ) throws SQLException {
508
+ void checkResultInternal (@ Nonnull final String currentQuery , @ Nonnull final Object actual ,
509
+ @ Nonnull final String queryDescription , @ Nonnull final List <String > setups ) throws SQLException {
500
510
// Nothing to do, this query is supported
501
511
// SupportedVersion configs are not executed
502
512
Assertions .fail ("Supported version configs are not meant to be executed." );
@@ -516,7 +526,8 @@ public static QueryConfig getNoOpConfig(int lineNumber, @Nonnull YamlExecutionCo
516
526
return new QueryConfig (QUERY_CONFIG_NO_OP , null , lineNumber , executionContext ) {
517
527
@ SuppressWarnings ("PMD.CloseResource" ) // lifetime of autocloseable persists beyond method
518
528
@ Override
519
- void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual , @ Nonnull String queryDescription ) throws SQLException {
529
+ void checkResultInternal (@ Nonnull String currentQuery , @ Nonnull Object actual ,
530
+ @ Nonnull String queryDescription , @ Nonnull List <String > setups ) throws SQLException {
520
531
// This should not be executed
521
532
Assertions .fail ("NoOp Config should not be executed" );
522
533
}
@@ -647,7 +658,7 @@ public SkipConfig(final String configMap, final Object value, final int lineNumb
647
658
648
659
@ Override
649
660
void checkResultInternal (@ Nonnull final String currentQuery , @ Nonnull final Object actual ,
650
- @ Nonnull final String queryDescription ) throws SQLException {
661
+ @ Nonnull final String queryDescription , @ Nonnull final List < String > setups ) throws SQLException {
651
662
Assertions .fail ("Skipped config should not be executed: Line: " + getLineNumber () + " " + message );
652
663
}
653
664
@@ -673,7 +684,8 @@ public boolean shouldExecute(YamlConnection connection) {
673
684
}
674
685
675
686
@ Override
676
- void checkResultInternal (@ Nonnull final String currentQuery , @ Nonnull final Object actual , @ Nonnull final String queryDescription ) throws SQLException {
687
+ void checkResultInternal (@ Nonnull final String currentQuery , @ Nonnull final Object actual ,
688
+ @ Nonnull final String queryDescription , @ Nonnull final List <String > setups ) throws SQLException {
677
689
Assertions .fail ("Check version config should not be executed: Line: " + getLineNumber ());
678
690
}
679
691
0 commit comments