@@ -392,9 +392,10 @@ fn parse_update_set_from() {
392392 } ] ,
393393 lateral_views: vec![ ] ,
394394 selection: None ,
395- group_by: GroupByExpr :: Expressions ( vec![ Expr :: Identifier ( Ident :: new(
396- "id"
397- ) ) ] ) ,
395+ group_by: GroupByExpr :: Expressions (
396+ vec![ Expr :: Identifier ( Ident :: new( "id" ) ) ] ,
397+ vec![ ]
398+ ) ,
398399 cluster_by: vec![ ] ,
399400 distribute_by: vec![ ] ,
400401 sort_by: vec![ ] ,
@@ -2119,10 +2120,13 @@ fn parse_select_group_by() {
21192120 let sql = "SELECT id, fname, lname FROM customer GROUP BY lname, fname" ;
21202121 let select = verified_only_select ( sql) ;
21212122 assert_eq ! (
2122- GroupByExpr :: Expressions ( vec![
2123- Expr :: Identifier ( Ident :: new( "lname" ) ) ,
2124- Expr :: Identifier ( Ident :: new( "fname" ) ) ,
2125- ] ) ,
2123+ GroupByExpr :: Expressions (
2124+ vec![
2125+ Expr :: Identifier ( Ident :: new( "lname" ) ) ,
2126+ Expr :: Identifier ( Ident :: new( "fname" ) ) ,
2127+ ] ,
2128+ vec![ ]
2129+ ) ,
21262130 select. group_by
21272131 ) ;
21282132
@@ -2137,7 +2141,7 @@ fn parse_select_group_by() {
21372141fn parse_select_group_by_all ( ) {
21382142 let sql = "SELECT id, fname, lname, SUM(order) FROM customer GROUP BY ALL" ;
21392143 let select = verified_only_select ( sql) ;
2140- assert_eq ! ( GroupByExpr :: All , select. group_by) ;
2144+ assert_eq ! ( GroupByExpr :: All ( vec! [ ] ) , select. group_by) ;
21412145
21422146 one_statement_parses_to (
21432147 "SELECT id, fname, lname, SUM(order) FROM customer GROUP BY ALL" ,
@@ -4545,7 +4549,7 @@ fn test_parse_named_window() {
45454549 } ] ,
45464550 lateral_views : vec ! [ ] ,
45474551 selection : None ,
4548- group_by : GroupByExpr :: Expressions ( vec ! [ ] ) ,
4552+ group_by : GroupByExpr :: Expressions ( vec ! [ ] , vec ! [ ] ) ,
45494553 cluster_by : vec ! [ ] ,
45504554 distribute_by : vec ! [ ] ,
45514555 sort_by : vec ! [ ] ,
@@ -4974,7 +4978,7 @@ fn parse_interval_and_or_xor() {
49744978 } ) ,
49754979 } ) ,
49764980 } ) ,
4977- group_by: GroupByExpr :: Expressions ( vec![ ] ) ,
4981+ group_by: GroupByExpr :: Expressions ( vec![ ] , vec! [ ] ) ,
49784982 cluster_by: vec![ ] ,
49794983 distribute_by: vec![ ] ,
49804984 sort_by: vec![ ] ,
@@ -6908,7 +6912,7 @@ fn lateral_function() {
69086912 } ] ,
69096913 lateral_views : vec ! [ ] ,
69106914 selection : None ,
6911- group_by : GroupByExpr :: Expressions ( vec ! [ ] ) ,
6915+ group_by : GroupByExpr :: Expressions ( vec ! [ ] , vec ! [ ] ) ,
69126916 cluster_by : vec ! [ ] ,
69136917 distribute_by : vec ! [ ] ,
69146918 sort_by : vec ! [ ] ,
@@ -7627,7 +7631,7 @@ fn parse_merge() {
76277631 } ] ,
76287632 lateral_views: vec![ ] ,
76297633 selection: None ,
7630- group_by: GroupByExpr :: Expressions ( vec![ ] ) ,
7634+ group_by: GroupByExpr :: Expressions ( vec![ ] , vec! [ ] ) ,
76317635 cluster_by: vec![ ] ,
76327636 distribute_by: vec![ ] ,
76337637 sort_by: vec![ ] ,
@@ -9133,7 +9137,7 @@ fn parse_unload() {
91339137 } ] ,
91349138 lateral_views: vec![ ] ,
91359139 selection: None ,
9136- group_by: GroupByExpr :: Expressions ( vec![ ] ) ,
9140+ group_by: GroupByExpr :: Expressions ( vec![ ] , vec! [ ] ) ,
91379141 cluster_by: vec![ ] ,
91389142 distribute_by: vec![ ] ,
91399143 sort_by: vec![ ] ,
@@ -9276,7 +9280,7 @@ fn parse_connect_by() {
92769280 into : None ,
92779281 lateral_views : vec ! [ ] ,
92789282 selection : None ,
9279- group_by : GroupByExpr :: Expressions ( vec ! [ ] ) ,
9283+ group_by : GroupByExpr :: Expressions ( vec ! [ ] , vec ! [ ] ) ,
92809284 cluster_by : vec ! [ ] ,
92819285 distribute_by : vec ! [ ] ,
92829286 sort_by : vec ! [ ] ,
@@ -9364,7 +9368,7 @@ fn parse_connect_by() {
93649368 op: BinaryOperator :: NotEq ,
93659369 right: Box :: new( Expr :: Value ( number( "42" ) ) ) ,
93669370 } ) ,
9367- group_by: GroupByExpr :: Expressions ( vec![ ] ) ,
9371+ group_by: GroupByExpr :: Expressions ( vec![ ] , vec! [ ] ) ,
93689372 cluster_by: vec![ ] ,
93699373 distribute_by: vec![ ] ,
93709374 sort_by: vec![ ] ,
@@ -9484,15 +9488,18 @@ fn test_group_by_grouping_sets() {
94849488 all_dialects_where( |d| d. supports_group_by_expr( ) )
94859489 . verified_only_select( sql)
94869490 . group_by,
9487- GroupByExpr :: Expressions ( vec![ Expr :: GroupingSets ( vec![
9488- vec![
9489- Expr :: Identifier ( Ident :: new( "city" ) ) ,
9490- Expr :: Identifier ( Ident :: new( "car_model" ) )
9491- ] ,
9492- vec![ Expr :: Identifier ( Ident :: new( "city" ) ) , ] ,
9493- vec![ Expr :: Identifier ( Ident :: new( "car_model" ) ) ] ,
9491+ GroupByExpr :: Expressions (
9492+ vec![ Expr :: GroupingSets ( vec![
9493+ vec![
9494+ Expr :: Identifier ( Ident :: new( "city" ) ) ,
9495+ Expr :: Identifier ( Ident :: new( "car_model" ) )
9496+ ] ,
9497+ vec![ Expr :: Identifier ( Ident :: new( "city" ) ) , ] ,
9498+ vec![ Expr :: Identifier ( Ident :: new( "car_model" ) ) ] ,
9499+ vec![ ]
9500+ ] ) ] ,
94949501 vec![ ]
9495- ] ) ] )
9502+ )
94969503 ) ;
94979504}
94989505
0 commit comments