@@ -5,7 +5,9 @@ use async_trait::async_trait;
55use convergence:: engine:: { Engine , Portal } ;
66use convergence:: protocol:: { ErrorResponse , FieldDescription , SqlState } ;
77use convergence:: protocol_ext:: DataRowBatch ;
8- use convergence:: sqlparser:: ast:: { Expr , GroupByExpr , Query , Select , SelectItem , SetExpr , Statement , Value } ;
8+ use convergence:: sqlparser:: ast:: Statement ;
9+ use convergence:: sqlparser:: dialect:: PostgreSqlDialect ;
10+ use convergence:: sqlparser:: parser:: Parser ;
911use datafusion:: error:: DataFusionError ;
1012use datafusion:: prelude:: * ;
1113
@@ -15,38 +17,8 @@ fn df_err_to_sql(err: DataFusionError) -> ErrorResponse {
1517
1618// dummy query used as replacement for set variable statements etc
1719fn dummy_query ( ) -> Statement {
18- Statement :: Query ( Box :: new ( Query {
19- body : Box :: new ( SetExpr :: Select ( Box :: new ( Select {
20- into : None ,
21- qualify : None ,
22- projection : vec ! [ SelectItem :: UnnamedExpr ( Expr :: Value ( Value :: Number (
23- "1" . to_owned( ) ,
24- false ,
25- ) ) ) ] ,
26- top : None ,
27- sort_by : vec ! [ ] ,
28- selection : None ,
29- cluster_by : vec ! [ ] ,
30- distinct : None ,
31- distribute_by : vec ! [ ] ,
32- group_by : GroupByExpr :: Expressions ( vec ! [ ] ) ,
33- from : vec ! [ ] ,
34- having : None ,
35- lateral_views : vec ! [ ] ,
36- named_window : vec ! [ ] ,
37- connect_by : None ,
38- value_table_mode : None ,
39- window_before_qualify : false ,
40- } ) ) ) ,
41- locks : vec ! [ ] ,
42- limit : None ,
43- with : None ,
44- fetch : None ,
45- offset : None ,
46- order_by : vec ! [ ] ,
47- for_clause : None ,
48- limit_by : vec ! [ ] ,
49- } ) )
20+ let mut statements = Parser :: parse_sql ( & PostgreSqlDialect { } , "select 1" ) . expect ( "failed to parse dummy statement" ) ;
21+ statements. remove ( 0 )
5022}
5123
5224fn translate_statement ( statement : & Statement ) -> Statement {
0 commit comments