@@ -70,7 +70,7 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
70
70
val data : Seq [(Float , Int )] = Seq ((Float .PositiveInfinity , 1 ))
71
71
withParquetTable(data, " tbl" , false ) {
72
72
val df = sql(" SELECT stddev_pop(_1), stddev_pop(_2) FROM tbl" )
73
- checkSparkAnswer (df)
73
+ checkSparkAnswerAndOperator (df)
74
74
}
75
75
}
76
76
}
@@ -199,7 +199,7 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
199
199
makeParquetFile(path, 10000 , 10 , false )
200
200
withParquetTable(path.toUri.toString, " tbl" ) {
201
201
val df = sql(" SELECT _g5 FROM tbl GROUP BY _g1, _g2, _g3, _g4, _g5" )
202
- checkSparkAnswer (df)
202
+ checkSparkAnswerAndOperator (df)
203
203
}
204
204
}
205
205
}
@@ -216,7 +216,7 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
216
216
makeParquetFile(path, 10000 , 10 , dictionaryEnabled)
217
217
withParquetTable(path.toUri.toString, " tbl" ) {
218
218
val df = sql(" SELECT * FROM tbl" ).groupBy(" _g1" ).agg(sum($" _3" + $" _g3" ))
219
- checkSparkAnswer (df)
219
+ checkSparkAnswerAndOperator (df)
220
220
}
221
221
}
222
222
}
@@ -271,7 +271,8 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
271
271
val path = new Path (dir.toURI.toString, " test" )
272
272
makeParquetFile(path, 10000 , 10 , dictionaryEnabled)
273
273
withParquetTable(path.toUri.toString, " tbl" ) {
274
- checkSparkAnswer(sql(" SELECT * FROM tbl" ).sort(" _g1" ).groupBy(" _g1" ).agg(sum(" _8" )))
274
+ checkSparkAnswerAndOperator(
275
+ sql(" SELECT * FROM tbl" ).sort(" _g1" ).groupBy(" _g1" ).agg(sum(" _8" )))
275
276
}
276
277
}
277
278
}
@@ -323,7 +324,7 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
323
324
val df3 = sql(" SELECT COUNT(_1), COUNT(_2) FROM tbl" )
324
325
checkAnswer(df3, Row (5 , 5 ) :: Nil )
325
326
326
- checkSparkAnswer (" SELECT _2, MIN(_1), MAX(_1) FROM tbl GROUP BY _2" )
327
+ checkSparkAnswerAndOperator (" SELECT _2, MIN(_1), MAX(_1) FROM tbl GROUP BY _2" )
327
328
}
328
329
}
329
330
}
@@ -335,8 +336,8 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
335
336
" tbl" ,
336
337
dictionaryEnabled) {
337
338
338
- checkSparkAnswer (" SELECT _2, AVG(_1) FROM tbl GROUP BY _2" )
339
- checkSparkAnswer (" SELECT AVG(_2) FROM tbl" )
339
+ checkSparkAnswerAndOperator (" SELECT _2, AVG(_1) FROM tbl GROUP BY _2" )
340
+ checkSparkAnswerAndOperator (" SELECT AVG(_2) FROM tbl" )
340
341
}
341
342
}
342
343
}
@@ -348,10 +349,10 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
348
349
withTable(table) {
349
350
sql(s " create table $table(col1 int, col2 int) using parquet " )
350
351
sql(s " insert into $table values(1, 1), (2, 1), (3, 2), (null, 2), (null, 1) " )
351
- checkSparkAnswer (s " SELECT COUNT(col1) FROM $table" )
352
- checkSparkAnswer (s " SELECT col2, COUNT(col1) FROM $table GROUP BY col2 " )
353
- checkSparkAnswer (s " SELECT avg(col1) FROM $table" )
354
- checkSparkAnswer (s " SELECT col2, avg(col1) FROM $table GROUP BY col2 " )
352
+ checkSparkAnswerAndOperator (s " SELECT COUNT(col1) FROM $table" )
353
+ checkSparkAnswerAndOperator (s " SELECT col2, COUNT(col1) FROM $table GROUP BY col2 " )
354
+ checkSparkAnswerAndOperator (s " SELECT avg(col1) FROM $table" )
355
+ checkSparkAnswerAndOperator (s " SELECT col2, avg(col1) FROM $table GROUP BY col2 " )
355
356
}
356
357
}
357
358
}
@@ -360,8 +361,8 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
360
361
test(" SUM/AVG non-decimal overflow" ) {
361
362
Seq (true , false ).foreach { dictionaryEnabled =>
362
363
withParquetTable(Seq ((0 , 100 .toLong), (0 , Long .MaxValue )), " tbl" , dictionaryEnabled) {
363
- checkSparkAnswer (" SELECT SUM(_2) FROM tbl GROUP BY _1" )
364
- checkSparkAnswer (" SELECT AVG(_2) FROM tbl GROUP BY _1" )
364
+ checkSparkAnswerAndOperator (" SELECT SUM(_2) FROM tbl GROUP BY _1" )
365
+ checkSparkAnswerAndOperator (" SELECT AVG(_2) FROM tbl GROUP BY _1" )
365
366
}
366
367
}
367
368
}
@@ -373,8 +374,8 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
373
374
checkAnswer(df1, Row (0 , 6 ) :: Row (1 , 4 ) :: Nil )
374
375
val df2 = sql(" SELECT _2, COUNT(_1) FROM tbl GROUP BY _2" )
375
376
checkAnswer(df2, Row (0 , 3 ) :: Row (1 , 2 ) :: Nil )
376
- checkSparkAnswer (" SELECT _2, MIN(_1), MAX(_1) FROM tbl GROUP BY _2" )
377
- checkSparkAnswer (" SELECT _2, AVG(_1) FROM tbl GROUP BY _2" )
377
+ checkSparkAnswerAndOperator (" SELECT _2, MIN(_1), MAX(_1) FROM tbl GROUP BY _2" )
378
+ checkSparkAnswerAndOperator (" SELECT _2, AVG(_1) FROM tbl GROUP BY _2" )
378
379
}
379
380
}
380
381
}
@@ -417,7 +418,7 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
417
418
418
419
val df3 = sql(" SELECT _2, MIN(_1), MAX(_1) FROM tbl GROUP BY _2" )
419
420
checkAnswer(df3, Row (null .asInstanceOf [Int ], 0 , 9 ) :: Row (1 , 1 , 7 ) :: Row (2 , 2 , 8 ) :: Nil )
420
- checkSparkAnswer (sql(" SELECT _2, AVG(_1) FROM tbl GROUP BY _2" ))
421
+ checkSparkAnswerAndOperator (sql(" SELECT _2, AVG(_1) FROM tbl GROUP BY _2" ))
421
422
}
422
423
}
423
424
}
@@ -441,7 +442,7 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
441
442
val df3 = sql(" SELECT _2, MIN(_1), MAX(_1) FROM tbl GROUP BY _2" )
442
443
checkAnswer(df3, Row (null .asInstanceOf [Int ], 0 , 9 ) :: Row (1 , 0 , 7 ) :: Row (2 , 0 , 5 ) :: Nil )
443
444
444
- checkSparkAnswer (sql(" SELECT _2, AVG(_1) FROM tbl GROUP BY _2" ))
445
+ checkSparkAnswerAndOperator (sql(" SELECT _2, AVG(_1) FROM tbl GROUP BY _2" ))
445
446
}
446
447
}
447
448
}
@@ -469,7 +470,7 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
469
470
Row (null .asInstanceOf [Int ], null .asInstanceOf [Int ], null .asInstanceOf [Int ]),
470
471
Row (1 , null .asInstanceOf [Int ], null .asInstanceOf [Int ]),
471
472
Row (2 , null .asInstanceOf [Int ], null .asInstanceOf [Int ])))
472
- checkSparkAnswer (sql(" SELECT _2, SUM(_1) FROM tbl GROUP BY _2" ))
473
+ checkSparkAnswerAndOperator (sql(" SELECT _2, SUM(_1) FROM tbl GROUP BY _2" ))
473
474
}
474
475
}
475
476
}
@@ -480,9 +481,9 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
480
481
val path = new Path (dir.toURI.toString, " test" )
481
482
makeParquetFile(path, 1000 , 10 , dictionaryEnabled)
482
483
withParquetTable(path.toUri.toString, " tbl" ) {
483
- checkSparkAnswer (
484
+ checkSparkAnswerAndOperator (
484
485
" SELECT _g5, SUM(_5), COUNT(_5), MIN(_5), MAX(_5), AVG(_5) FROM tbl GROUP BY _g5" )
485
- checkSparkAnswer (
486
+ checkSparkAnswerAndOperator (
486
487
" SELECT _g6, SUM(_6), COUNT(_6), MIN(_6), MAX(_6), AVG(_6) FROM tbl GROUP BY _g6" )
487
488
}
488
489
}
@@ -548,13 +549,13 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
548
549
makeParquetFile(path, 1000 , 10 , dictionaryEnabled)
549
550
withParquetTable(path.toUri.toString, " tbl" ) {
550
551
Seq (" SUM" , " AVG" ).foreach { FN =>
551
- checkSparkAnswer (
552
+ checkSparkAnswerAndOperator (
552
553
s " SELECT _g1, $FN(_8 + CAST(1 AS DECIMAL(20, 10))) FROM tbl GROUP BY _g1 " )
553
- checkSparkAnswer (
554
+ checkSparkAnswerAndOperator (
554
555
s " SELECT _g1, $FN(_8 - CAST(-1 AS DECIMAL(10, 3))) FROM tbl GROUP BY _g1 " )
555
- checkSparkAnswer (
556
+ checkSparkAnswerAndOperator (
556
557
s " SELECT _g1, $FN(_9 * CAST(3.14 AS DECIMAL(4, 3))) FROM tbl GROUP BY _g1 " )
557
- checkSparkAnswer (
558
+ checkSparkAnswerAndOperator (
558
559
s " SELECT _g1, $FN(_9 / CAST(1.2345 AS DECIMAL(35, 10))) FROM tbl GROUP BY _g1 " )
559
560
}
560
561
}
@@ -605,9 +606,12 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
605
606
val path = new Path (dir.toURI.toString, " test" )
606
607
makeParquetFile(path, 1000 , 10 , dictionaryEnabled)
607
608
withParquetTable(path.toUri.toString, " tbl" ) {
608
- checkSparkAnswer(" SELECT _g1, COUNT(_10), MIN(_10), MAX(_10) FROM tbl GROUP BY _g1" )
609
- checkSparkAnswer(" SELECT _g1, COUNT(_11), MIN(_11), MAX(_11) FROM tbl GROUP BY _g1" )
610
- checkSparkAnswer(" SELECT _g1, COUNT(_12), MIN(_12), MAX(_12) FROM tbl GROUP BY _g1" )
609
+ checkSparkAnswerAndOperator(
610
+ " SELECT _g1, COUNT(_10), MIN(_10), MAX(_10) FROM tbl GROUP BY _g1" )
611
+ checkSparkAnswerAndOperator(
612
+ " SELECT _g1, COUNT(_11), MIN(_11), MAX(_11) FROM tbl GROUP BY _g1" )
613
+ checkSparkAnswerAndOperator(
614
+ " SELECT _g1, COUNT(_12), MIN(_12), MAX(_12) FROM tbl GROUP BY _g1" )
611
615
}
612
616
}
613
617
}
@@ -629,7 +633,7 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
629
633
dictionaryEnabled) {
630
634
withView(" v" ) {
631
635
sql(" CREATE TEMP VIEW v AS SELECT _1, _2 FROM tbl ORDER BY _1" )
632
- checkSparkAnswer (
636
+ checkSparkAnswerAndOperator (
633
637
" SELECT _2, SUM(_1), SUM(DISTINCT _1), MIN(_1), MAX(_1), COUNT(_1)," +
634
638
" COUNT(DISTINCT _1), AVG(_1), FIRST(_1), LAST(_1) FROM v GROUP BY _2" )
635
639
}
@@ -656,13 +660,13 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
656
660
withParquetTable(path.toUri.toString, " tbl" ) {
657
661
withView(" v" ) {
658
662
sql(" CREATE TEMP VIEW v AS SELECT _g1, _g2, _3 FROM tbl ORDER BY _3" )
659
- checkSparkAnswer (
663
+ checkSparkAnswerAndOperator (
660
664
" SELECT _g1, _g2, FIRST(_3) FROM v GROUP BY _g1, _g2 ORDER BY _g1, _g2" )
661
- checkSparkAnswer (
665
+ checkSparkAnswerAndOperator (
662
666
" SELECT _g1, _g2, LAST(_3) FROM v GROUP BY _g1, _g2 ORDER BY _g1, _g2" )
663
- checkSparkAnswer (
667
+ checkSparkAnswerAndOperator (
664
668
" SELECT _g1, _g2, FIRST(_3) IGNORE NULLS FROM v GROUP BY _g1, _g2 ORDER BY _g1, _g2" )
665
- checkSparkAnswer (
669
+ checkSparkAnswerAndOperator (
666
670
" SELECT _g1, _g2, LAST(_3) IGNORE NULLS FROM v GROUP BY _g1, _g2 ORDER BY _g1, _g2" )
667
671
}
668
672
}
@@ -732,9 +736,9 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
732
736
withParquetTable(path.toUri.toString, " tbl" ) {
733
737
withView(" v" ) {
734
738
sql(" CREATE TEMP VIEW v AS SELECT _g3, _g4, _3, _4 FROM tbl ORDER BY _3, _4" )
735
- checkSparkAnswer (
739
+ checkSparkAnswerAndOperator (
736
740
" SELECT _g3, _g4, FIRST(_3), FIRST(_4) FROM v GROUP BY _g3, _g4 ORDER BY _g3, _g4" )
737
- checkSparkAnswer (
741
+ checkSparkAnswerAndOperator (
738
742
" SELECT _g3, _g4, LAST(_3), LAST(_4) FROM v GROUP BY _g3, _g4 ORDER BY _g3, _g4" )
739
743
}
740
744
}
@@ -799,8 +803,9 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
799
803
withView(" v" ) {
800
804
sql(s " CREATE TEMP VIEW v AS SELECT _g $gCol, _1, _2, _3, _4 " +
801
805
" FROM tbl ORDER BY _1, _2, _3, _4" )
802
- checkSparkAnswer(s " SELECT _g $gCol, FIRST(_1), FIRST(_2), FIRST(_3), " +
803
- s " FIRST(_4), LAST(_1), LAST(_2), LAST(_3), LAST(_4) FROM v GROUP BY _g $gCol ORDER BY _g $gCol" )
806
+ checkSparkAnswerAndOperator(
807
+ s " SELECT _g $gCol, FIRST(_1), FIRST(_2), FIRST(_3), " +
808
+ s " FIRST(_4), LAST(_1), LAST(_2), LAST(_3), LAST(_4) FROM v GROUP BY _g $gCol ORDER BY _g $gCol" )
804
809
}
805
810
}
806
811
}
@@ -1021,7 +1026,7 @@ class CometAggregateSuite extends CometTestBase with AdaptiveSparkPlanHelper {
1021
1026
sql(s " insert into $table values(2, null) " )
1022
1027
1023
1028
val query = sql(s " select a, AVG(b) from $table GROUP BY a " )
1024
- checkSparkAnswer (query)
1029
+ checkSparkAnswerAndOperator (query)
1025
1030
}
1026
1031
}
1027
1032
}
0 commit comments