1
+ use sqlparser:: ast:: helpers:: attached_token:: AttachedToken ;
1
2
use sqlparser:: ast:: * ;
2
3
use sqlparser:: dialect:: Dialect ;
4
+ use sqlparser:: tokenizer:: Span ;
3
5
4
- /// Generates wildcard select for given dialect
6
+ ///
7
+ /// Generates wildcard select for given dialect:
5
8
///
6
9
/// ```rust
7
10
/// // connect to SQLite
@@ -10,11 +13,15 @@ use sqlparser::dialect::Dialect;
10
13
/// let query = generate_select("table", driver);
11
14
/// assert_eq!("SELECT * FROM `table`", query.as_str());
12
15
/// ```
16
+ ///
13
17
pub ( crate ) fn generate_select ( table_name : & str , dialect : & impl Dialect ) -> String {
14
18
let ast = SetExpr :: Select ( Box :: new ( Select {
19
+ flavor : SelectFlavor :: Standard ,
15
20
distinct : None ,
16
21
top : None ,
17
22
projection : [ SelectItem :: Wildcard ( WildcardAdditionalOptions {
23
+ wildcard_token : AttachedToken :: empty ( ) ,
24
+ opt_ilike : None ,
18
25
opt_exclude : None ,
19
26
opt_except : None ,
20
27
opt_rename : None ,
@@ -24,32 +31,41 @@ pub(crate) fn generate_select(table_name: &str, dialect: &impl Dialect) -> Strin
24
31
into : None ,
25
32
from : [ TableWithJoins {
26
33
relation : TableFactor :: Table {
27
- name : ObjectName (
28
- [ Ident {
29
- value : table_name . to_owned ( ) ,
30
- quote_style : dialect . identifier_quote_style ( table_name ) ,
31
- } ]
32
- . to_vec ( ) ,
33
- ) ,
34
+ name : [ Ident {
35
+ value : table_name . to_owned ( ) ,
36
+ quote_style : dialect . identifier_quote_style ( table_name ) ,
37
+ span : Span :: empty ( ) ,
38
+ } ]
39
+ . to_vec ( )
40
+ . into ( ) ,
34
41
alias : None ,
35
42
args : None ,
36
- with_hints : [ ] . to_vec ( ) ,
43
+ with_hints : vec ! [ ] ,
37
44
version : None ,
38
- partitions : [ ] . to_vec ( ) ,
45
+ partitions : vec ! [ ] ,
46
+ with_ordinality : false ,
47
+ json_path : None ,
48
+ sample : None ,
49
+ index_hints : vec ! [ ] ,
39
50
} ,
40
- joins : [ ] . to_vec ( ) ,
51
+ joins : vec ! [ ] ,
41
52
} ]
42
53
. to_vec ( ) ,
43
54
lateral_views : [ ] . to_vec ( ) ,
44
55
selection : None ,
45
- group_by : GroupByExpr :: Expressions ( [ ] . to_vec ( ) ) ,
56
+ group_by : GroupByExpr :: Expressions ( vec ! [ ] , vec ! [ ] ) ,
46
57
cluster_by : [ ] . to_vec ( ) ,
47
58
distribute_by : [ ] . to_vec ( ) ,
48
59
sort_by : [ ] . to_vec ( ) ,
49
60
having : None ,
50
61
named_window : [ ] . to_vec ( ) ,
51
62
qualify : None ,
52
63
value_table_mode : None ,
64
+ select_token : AttachedToken :: empty ( ) ,
65
+ top_before_distinct : false ,
66
+ prewhere : None ,
67
+ window_before_qualify : false ,
68
+ connect_by : None ,
53
69
} ) ) ;
54
70
55
71
ast. to_string ( )
0 commit comments