@@ -1160,46 +1160,46 @@ public void testPushDownMinOrMaxAggOnDerivedField() throws IOException {
11601160 public void testCasePushdownAsRangeQueryExplain () throws IOException {
11611161 // CASE 1: Range - Metric
11621162 // 1.1 Range - Metric
1163- assertYamlEqualsJsonIgnoreId (
1163+ assertYamlEqualsIgnoreId (
11641164 loadExpectedPlan ("agg_range_metric_push.yaml" ),
1165- explainQueryToString (
1165+ explainQueryYaml (
11661166 String .format (
11671167 "source=%s | eval age_range = case(age < 30, 'u30', age < 40, 'u40' else 'u100') |"
11681168 + " stats avg(age) as avg_age by age_range" ,
11691169 TEST_INDEX_BANK )));
11701170
11711171 // 1.2 Range - Metric (COUNT)
1172- assertYamlEqualsJsonIgnoreId (
1172+ assertYamlEqualsIgnoreId (
11731173 loadExpectedPlan ("agg_range_count_push.yaml" ),
1174- explainQueryToString (
1174+ explainQueryYaml (
11751175 String .format (
11761176 "source=%s | eval age_range = case(age < 30, 'u30', age >= 30 and age < 40, 'u40'"
11771177 + " else 'u100') | stats avg(age) by age_range" ,
11781178 TEST_INDEX_BANK )));
11791179
11801180 // 1.3 Range - Range - Metric
1181- assertYamlEqualsJsonIgnoreId (
1181+ assertYamlEqualsIgnoreId (
11821182 loadExpectedPlan ("agg_range_range_metric_push.yaml" ),
1183- explainQueryToString (
1183+ explainQueryYaml (
11841184 String .format (
11851185 "source=%s | eval age_range = case(age < 30, 'u30', age < 40, 'u40' else 'u100'),"
11861186 + " balance_range = case(balance < 20000, 'medium' else 'high') | stats"
11871187 + " avg(balance) as avg_balance by age_range, balance_range" ,
11881188 TEST_INDEX_BANK )));
11891189
11901190 // 1.4 Range - Metric (With null & discontinuous ranges)
1191- assertYamlEqualsJsonIgnoreId (
1191+ assertYamlEqualsIgnoreId (
11921192 loadExpectedPlan ("agg_range_metric_complex_push.yaml" ),
1193- explainQueryToString (
1193+ explainQueryYaml (
11941194 String .format (
11951195 "source=%s | eval age_range = case(age < 30, 'u30', (age >= 35 and age < 40) or age"
11961196 + " >= 80, '30-40 or >=80') | stats avg(balance) by age_range" ,
11971197 TEST_INDEX_BANK )));
11981198
11991199 // 1.5 Should not be pushed because the range is not closed-open
1200- assertYamlEqualsJsonIgnoreId (
1200+ assertYamlEqualsIgnoreId (
12011201 loadExpectedPlan ("agg_case_cannot_push.yaml" ),
1202- explainQueryToString (
1202+ explainQueryYaml (
12031203 String .format (
12041204 "source=%s | eval age_range = case(age < 30, 'u30', age >= 30 and age <= 40, 'u40'"
12051205 + " else 'u100') | stats avg(age) as avg_age by age_range" ,
@@ -1208,55 +1208,55 @@ public void testCasePushdownAsRangeQueryExplain() throws IOException {
12081208 // 1.6 Should not be pushed as range query because the result expression is not a string
12091209 // literal.
12101210 // Range aggregation keys must be strings
1211- assertYamlEqualsJsonIgnoreId (
1211+ assertYamlEqualsIgnoreId (
12121212 loadExpectedPlan ("agg_case_num_res_cannot_push.yaml" ),
1213- explainQueryToString (
1213+ explainQueryYaml (
12141214 String .format (
12151215 "source=%s | eval age_range = case(age < 30, 30 else 100) | stats count() by"
12161216 + " age_range" ,
12171217 TEST_INDEX_BANK )));
12181218
12191219 // CASE 2: Composite - Range - Metric
12201220 // 2.1 Composite (term) - Range - Metric
1221- assertYamlEqualsJsonIgnoreId (
1221+ assertYamlEqualsIgnoreId (
12221222 loadExpectedPlan ("agg_composite_range_metric_push.yaml" ),
1223- explainQueryToString (
1223+ explainQueryYaml (
12241224 String .format (
12251225 "source=%s | eval age_range = case(age < 30, 'u30' else 'a30') | stats avg(balance)"
12261226 + " by state, age_range" ,
12271227 TEST_INDEX_BANK )));
12281228
12291229 // 2.2 Composite (date histogram) - Range - Metric
1230- assertYamlEqualsJsonIgnoreId (
1230+ assertYamlEqualsIgnoreId (
12311231 loadExpectedPlan ("agg_composite_date_range_push.yaml" ),
1232- explainQueryToString (
1232+ explainQueryYaml (
12331233 "source=opensearch-sql_test_index_time_data | eval value_range = case(value < 7000,"
12341234 + " 'small' else 'large') | stats avg(value) by value_range, span(@timestamp,"
12351235 + " 1h)" ));
12361236
12371237 // 2.3 Composite(2 fields) - Range - Metric (with count)
1238- assertYamlEqualsJsonIgnoreId (
1238+ assertYamlEqualsIgnoreId (
12391239 loadExpectedPlan ("agg_composite2_range_count_push.yaml" ),
1240- explainQueryToString (
1240+ explainQueryYaml (
12411241 String .format (
12421242 "source=%s | eval age_range = case(age < 30, 'u30' else 'a30') | stats"
12431243 + " avg(balance), count() by age_range, state, gender" ,
12441244 TEST_INDEX_BANK )));
12451245
12461246 // 2.4 Composite (2 fields) - Range - Range - Metric (with count)
1247- assertYamlEqualsJsonIgnoreId (
1247+ assertYamlEqualsIgnoreId (
12481248 loadExpectedPlan ("agg_composite2_range_range_count_push.yaml" ),
1249- explainQueryToString (
1249+ explainQueryYaml (
12501250 String .format (
12511251 "source=%s | eval age_range = case(age < 35, 'u35' else 'a35'), balance_range ="
12521252 + " case(balance < 20000, 'medium' else 'high') | stats avg(balance) as"
12531253 + " avg_balance by age_range, balance_range, state" ,
12541254 TEST_INDEX_BANK )));
12551255
12561256 // 2.5 Should not be pushed down as range query because case result expression is not constant
1257- assertYamlEqualsJsonIgnoreId (
1257+ assertYamlEqualsIgnoreId (
12581258 loadExpectedPlan ("agg_case_composite_cannot_push.yaml" ),
1259- explainQueryToString (
1259+ explainQueryYaml (
12601260 String .format (
12611261 "source=%s | eval age_range = case(age < 35, 'u35' else email) | stats avg(balance)"
12621262 + " as avg_balance by age_range, state" ,
@@ -1269,9 +1269,9 @@ public void testNestedAggregationsExplain() throws IOException {
12691269 Assume .assumeFalse (
12701270 "The query runs into error when pushdown is disabled due to bin's implementation" ,
12711271 isPushdownDisabled ());
1272- assertYamlEqualsJsonIgnoreId (
1272+ assertYamlEqualsIgnoreId (
12731273 loadExpectedPlan ("agg_composite_autodate_range_metric_push.yaml" ),
1274- explainQueryToString (
1274+ explainQueryYaml (
12751275 String .format (
12761276 "source=%s | bin timestamp bins=3 | eval value_range = case(value < 7000, 'small'"
12771277 + " else 'great') | stats bucket_nullable=false avg(value), count() by"
0 commit comments