Skip to content

Commit 38e12c6

Browse files
committed
Fix unit tests broken by passed-on hints
Signed-off-by: Yuanchun Shen <yuanchu@amazon.com>
1 parent 0be7cb4 commit 38e12c6

4 files changed

Lines changed: 63 additions & 21 deletions

File tree

ppl/src/test/java/org/opensearch/sql/ppl/calcite/CalcitePPLAggregationTest.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,9 @@ public void testAvgByFieldNonBucketNullable() {
356356
verifyResult(root, expectedResult);
357357

358358
String expectedSparkSql =
359-
"SELECT AVG(`SAL`) `avg(SAL)`, `DEPTNO`\n"
359+
"SELECT\n"
360+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
361+
+ "AVG(`SAL`) `avg(SAL)`, `DEPTNO`\n"
360362
+ "FROM `scott`.`EMP`\n"
361363
+ "WHERE `DEPTNO` IS NOT NULL\n"
362364
+ "GROUP BY `DEPTNO`";
@@ -957,7 +959,9 @@ public void testSortAggregationMetrics1() {
957959
verifyResult(root, expectedResult);
958960

959961
String expectedSparkSql =
960-
"SELECT AVG(`SAL`) `avg`, `DEPTNO`\n"
962+
"SELECT\n"
963+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
964+
+ "AVG(`SAL`) `avg`, `DEPTNO`\n"
961965
+ "FROM `scott`.`EMP`\n"
962966
+ "WHERE `DEPTNO` IS NOT NULL\n"
963967
+ "GROUP BY `DEPTNO`\n"
@@ -982,7 +986,9 @@ public void testSortAggregationMetrics2() {
982986
verifyLogical(root, expectedLogical);
983987

984988
String expectedSparkSql =
985-
"SELECT AVG(`SAL`) `avg`, SPAN(`HIREDATE`, 1, 'y') `hiredate_span`\n"
989+
"SELECT\n"
990+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
991+
+ "AVG(`SAL`) `avg`, SPAN(`HIREDATE`, 1, 'y') `hiredate_span`\n"
986992
+ "FROM `scott`.`EMP`\n"
987993
+ "WHERE `HIREDATE` IS NOT NULL\n"
988994
+ "GROUP BY SPAN(`HIREDATE`, 1, 'y')\n"
@@ -1033,7 +1039,9 @@ public void testHaving2() {
10331039

10341040
String expectedSparkSql =
10351041
"SELECT *\n"
1036-
+ "FROM (SELECT AVG(`SAL`) `avg`, `DEPTNO`\n"
1042+
+ "FROM (SELECT\n"
1043+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
1044+
+ "AVG(`SAL`) `avg`, `DEPTNO`\n"
10371045
+ "FROM `scott`.`EMP`\n"
10381046
+ "WHERE `DEPTNO` IS NOT NULL\n"
10391047
+ "GROUP BY `DEPTNO`) `t2`\n"

ppl/src/test/java/org/opensearch/sql/ppl/calcite/CalcitePPLChartTest.java

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ public void testChartWithSingleGroupKey() {
8080

8181
RelNode root = getRelNode(ppl);
8282
String expectedSparkSql =
83-
"SELECT `gender`, AVG(`balance`) `avg(balance)`\n"
83+
"SELECT\n"
84+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
85+
+ "`gender`, AVG(`balance`) `avg(balance)`\n"
8486
+ "FROM `scott`.`bank`\n"
8587
+ "WHERE `gender` IS NOT NULL AND `balance` IS NOT NULL\n"
8688
+ "GROUP BY `gender`\n"
@@ -94,7 +96,9 @@ public void testChartWithOverSyntax() {
9496

9597
RelNode root = getRelNode(ppl);
9698
String expectedSparkSql =
97-
"SELECT `gender`, AVG(`balance`) `avg(balance)`\n"
99+
"SELECT\n"
100+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
101+
+ "`gender`, AVG(`balance`) `avg(balance)`\n"
98102
+ "FROM `scott`.`bank`\n"
99103
+ "WHERE `gender` IS NOT NULL AND `balance` IS NOT NULL\n"
100104
+ "GROUP BY `gender`\n"
@@ -164,7 +168,9 @@ public void testChartWithLimit() {
164168

165169
RelNode root = getRelNode(ppl);
166170
String expectedSparkSql =
167-
"SELECT `gender`, AVG(`balance`) `avg(balance)`\n"
171+
"SELECT\n"
172+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
173+
+ "`gender`, AVG(`balance`) `avg(balance)`\n"
168174
+ "FROM `scott`.`bank`\n"
169175
+ "WHERE `gender` IS NOT NULL AND `balance` IS NOT NULL\n"
170176
+ "GROUP BY `gender`\n"
@@ -192,7 +198,9 @@ public void testChartWithSpan() {
192198

193199
RelNode root = getRelNode(ppl);
194200
String expectedSparkSql =
195-
"SELECT SPAN(`age`, 10, NULL) `age`, MAX(`balance`) `max(balance)`\n"
201+
"SELECT\n"
202+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
203+
+ "SPAN(`age`, 10, NULL) `age`, MAX(`balance`) `max(balance)`\n"
196204
+ "FROM `scott`.`bank`\n"
197205
+ "WHERE `age` IS NOT NULL AND `balance` IS NOT NULL\n"
198206
+ "GROUP BY SPAN(`age`, 10, NULL)\n"
@@ -234,7 +242,9 @@ public void testChartWithUseOtherTrue() {
234242

235243
RelNode root = getRelNode(ppl);
236244
String expectedSparkSql =
237-
"SELECT `gender`, AVG(`balance`) `avg(balance)`\n"
245+
"SELECT\n"
246+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
247+
+ "`gender`, AVG(`balance`) `avg(balance)`\n"
238248
+ "FROM `scott`.`bank`\n"
239249
+ "WHERE `gender` IS NOT NULL AND `balance` IS NOT NULL\n"
240250
+ "GROUP BY `gender`\n"
@@ -248,7 +258,9 @@ public void testChartWithUseOtherFalse() {
248258

249259
RelNode root = getRelNode(ppl);
250260
String expectedSparkSql =
251-
"SELECT `gender`, AVG(`balance`) `avg(balance)`\n"
261+
"SELECT\n"
262+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
263+
+ "`gender`, AVG(`balance`) `avg(balance)`\n"
252264
+ "FROM `scott`.`bank`\n"
253265
+ "WHERE `gender` IS NOT NULL AND `balance` IS NOT NULL\n"
254266
+ "GROUP BY `gender`\n"
@@ -262,7 +274,9 @@ public void testChartWithOtherStr() {
262274

263275
RelNode root = getRelNode(ppl);
264276
String expectedSparkSql =
265-
"SELECT `gender`, AVG(`balance`) `avg(balance)`\n"
277+
"SELECT\n"
278+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
279+
+ "`gender`, AVG(`balance`) `avg(balance)`\n"
266280
+ "FROM `scott`.`bank`\n"
267281
+ "WHERE `gender` IS NOT NULL AND `balance` IS NOT NULL\n"
268282
+ "GROUP BY `gender`\n"
@@ -276,7 +290,9 @@ public void testChartWithNullStr() {
276290

277291
RelNode root = getRelNode(ppl);
278292
String expectedSparkSql =
279-
"SELECT `gender`, AVG(`balance`) `avg(balance)`\n"
293+
"SELECT\n"
294+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
295+
+ "`gender`, AVG(`balance`) `avg(balance)`\n"
280296
+ "FROM `scott`.`bank`\n"
281297
+ "WHERE `gender` IS NOT NULL AND `balance` IS NOT NULL\n"
282298
+ "GROUP BY `gender`\n"
@@ -290,7 +306,9 @@ public void testChartWithUseNull() {
290306

291307
RelNode root = getRelNode(ppl);
292308
String expectedSparkSql =
293-
"SELECT `gender`, AVG(`balance`) `avg(balance)`\n"
309+
"SELECT\n"
310+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
311+
+ "`gender`, AVG(`balance`) `avg(balance)`\n"
294312
+ "FROM `scott`.`bank`\n"
295313
+ "WHERE `gender` IS NOT NULL AND `balance` IS NOT NULL\n"
296314
+ "GROUP BY `gender`\n"

ppl/src/test/java/org/opensearch/sql/ppl/calcite/CalcitePPLRareTopNTest.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,9 @@ public void testRareUseNullFalse() {
193193

194194
String expectedSparkSql =
195195
"SELECT `DEPTNO`, `JOB`, `count`\n"
196-
+ "FROM (SELECT `DEPTNO`, `JOB`, COUNT(*) `count`, ROW_NUMBER() OVER (PARTITION BY"
196+
+ "FROM (SELECT\n"
197+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
198+
+ "`DEPTNO`, `JOB`, COUNT(*) `count`, ROW_NUMBER() OVER (PARTITION BY"
197199
+ " `DEPTNO` ORDER BY COUNT(*) NULLS LAST) `_row_number_rare_top_`\n"
198200
+ "FROM `scott`.`EMP`\n"
199201
+ "WHERE `DEPTNO` IS NOT NULL AND `JOB` IS NOT NULL\n"
@@ -396,7 +398,9 @@ public void testTopUseNullFalse() {
396398

397399
String expectedSparkSql =
398400
"SELECT `DEPTNO`, `JOB`, `count`\n"
399-
+ "FROM (SELECT `DEPTNO`, `JOB`, COUNT(*) `count`, ROW_NUMBER() OVER (PARTITION BY"
401+
+ "FROM (SELECT\n"
402+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
403+
+ "`DEPTNO`, `JOB`, COUNT(*) `count`, ROW_NUMBER() OVER (PARTITION BY"
400404
+ " `DEPTNO` ORDER BY COUNT(*) DESC NULLS FIRST) `_row_number_rare_top_`\n"
401405
+ "FROM `scott`.`EMP`\n"
402406
+ "WHERE `DEPTNO` IS NOT NULL AND `JOB` IS NOT NULL\n"

ppl/src/test/java/org/opensearch/sql/ppl/calcite/CalcitePPLTimechartTest.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,9 @@ public void testTimechartBasic() {
7575

7676
RelNode root = getRelNode(ppl);
7777
String expectedSparkSql =
78-
"SELECT SPAN(`@timestamp`, 1, 'm') `@timestamp`, COUNT(*) `count()`\n"
78+
"SELECT\n"
79+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
80+
+ "SPAN(`@timestamp`, 1, 'm') `@timestamp`, COUNT(*) `count()`\n"
7981
+ "FROM `scott`.`events`\n"
8082
+ "WHERE `@timestamp` IS NOT NULL\n"
8183
+ "GROUP BY SPAN(`@timestamp`, 1, 'm')\n"
@@ -90,7 +92,9 @@ public void testTimechartPerSecond() {
9092
"SELECT `@timestamp`, DIVIDE(`per_second(cpu_usage)` * 1.0000E3,"
9193
+ " TIMESTAMPDIFF('MILLISECOND', `@timestamp`, TIMESTAMPADD('MINUTE', 1,"
9294
+ " `@timestamp`))) `per_second(cpu_usage)`\n"
93-
+ "FROM (SELECT SPAN(`@timestamp`, 1, 'm') `@timestamp`, SUM(`cpu_usage`)"
95+
+ "FROM (SELECT\n"
96+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
97+
+ "SPAN(`@timestamp`, 1, 'm') `@timestamp`, SUM(`cpu_usage`)"
9498
+ " `per_second(cpu_usage)`\n"
9599
+ "FROM `scott`.`events`\n"
96100
+ "WHERE `@timestamp` IS NOT NULL AND `cpu_usage` IS NOT NULL\n"
@@ -105,7 +109,9 @@ public void testTimechartPerMinute() {
105109
"SELECT `@timestamp`, DIVIDE(`per_minute(cpu_usage)` * 6.00000E4,"
106110
+ " TIMESTAMPDIFF('MILLISECOND', `@timestamp`, TIMESTAMPADD('MINUTE', 1,"
107111
+ " `@timestamp`))) `per_minute(cpu_usage)`\n"
108-
+ "FROM (SELECT SPAN(`@timestamp`, 1, 'm') `@timestamp`, SUM(`cpu_usage`)"
112+
+ "FROM (SELECT\n"
113+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
114+
+ "SPAN(`@timestamp`, 1, 'm') `@timestamp`, SUM(`cpu_usage`)"
109115
+ " `per_minute(cpu_usage)`\n"
110116
+ "FROM `scott`.`events`\n"
111117
+ "WHERE `@timestamp` IS NOT NULL AND `cpu_usage` IS NOT NULL\n"
@@ -120,7 +126,9 @@ public void testTimechartPerHour() {
120126
"SELECT `@timestamp`, DIVIDE(`per_hour(cpu_usage)` * 3.6000000E6,"
121127
+ " TIMESTAMPDIFF('MILLISECOND', `@timestamp`, TIMESTAMPADD('MINUTE', 1,"
122128
+ " `@timestamp`))) `per_hour(cpu_usage)`\n"
123-
+ "FROM (SELECT SPAN(`@timestamp`, 1, 'm') `@timestamp`, SUM(`cpu_usage`)"
129+
+ "FROM (SELECT\n"
130+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
131+
+ "SPAN(`@timestamp`, 1, 'm') `@timestamp`, SUM(`cpu_usage`)"
124132
+ " `per_hour(cpu_usage)`\n"
125133
+ "FROM `scott`.`events`\n"
126134
+ "WHERE `@timestamp` IS NOT NULL AND `cpu_usage` IS NOT NULL\n"
@@ -135,7 +143,9 @@ public void testTimechartPerDay() {
135143
"SELECT `@timestamp`, DIVIDE(`per_day(cpu_usage)` * 8.64E7,"
136144
+ " TIMESTAMPDIFF('MILLISECOND', `@timestamp`, TIMESTAMPADD('MINUTE', 1,"
137145
+ " `@timestamp`))) `per_day(cpu_usage)`\n"
138-
+ "FROM (SELECT SPAN(`@timestamp`, 1, 'm') `@timestamp`, SUM(`cpu_usage`)"
146+
+ "FROM (SELECT\n"
147+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
148+
+ "SPAN(`@timestamp`, 1, 'm') `@timestamp`, SUM(`cpu_usage`)"
139149
+ " `per_day(cpu_usage)`\n"
140150
+ "FROM `scott`.`events`\n"
141151
+ "WHERE `@timestamp` IS NOT NULL AND `cpu_usage` IS NOT NULL\n"
@@ -149,7 +159,9 @@ public void testTimechartWithSpan() {
149159

150160
RelNode root = getRelNode(ppl);
151161
String expectedSparkSql =
152-
"SELECT SPAN(`@timestamp`, 1, 'h') `@timestamp`, COUNT(*) `count()`\n"
162+
"SELECT\n"
163+
+ "/*+ `stats_args`(`bucket_nullable` = 'false') */\n"
164+
+ "SPAN(`@timestamp`, 1, 'h') `@timestamp`, COUNT(*) `count()`\n"
153165
+ "FROM `scott`.`events`\n"
154166
+ "WHERE `@timestamp` IS NOT NULL\n"
155167
+ "GROUP BY SPAN(`@timestamp`, 1, 'h')\n"

0 commit comments

Comments
 (0)