Skip to content

Commit dbb54ab

Browse files
committed
temp [ci skip]
1 parent 1cba1f4 commit dbb54ab

12 files changed

+513
-362
lines changed

crates/lib-dialects/src/mysql.rs

+9
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use sqruff_lib_core::helpers::{Config, ToMatchable};
55
use sqruff_lib_core::parser::grammar::anyof::{AnyNumberOf, one_of};
66
use sqruff_lib_core::parser::grammar::base::Ref;
77
use sqruff_lib_core::parser::grammar::delimited::Delimited;
8+
use sqruff_lib_core::parser::parsers::TypedParser;
89
use sqruff_lib_core::parser::segments::meta::MetaSegment;
910
use sqruff_lib_core::vec_of_erased;
1011
use sqruff_lib_core::{parser::grammar::sequence::Sequence, parser::lexer::Matcher};
@@ -72,6 +73,14 @@ pub fn raw_dialect() -> Dialect {
7273
"TIMESTAMPDIFF",
7374
]);
7475

76+
mysql.add([(
77+
// MySQL allows the usage of a double quoted identifier for an alias.
78+
"DoubleQuotedIdentifierSegment".into(),
79+
TypedParser::new(SyntaxKind::DoubleQuote, SyntaxKind::Identifier)
80+
.to_matchable()
81+
.into(),
82+
)]);
83+
7584
mysql.add([
7685
(
7786
// A reference to an object with an `AS` clause.

crates/lib-dialects/test/fixtures/dialects/mysql/column_alias.yml

+6-9
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,26 @@ file:
1515
- keyword: SELECT
1616
- select_clause_element:
1717
- numeric_literal: '2'
18-
- alias_expression:
19-
- keyword: AS
20-
- quoted_identifier: '''two'''
18+
- keyword: AS
19+
- quoted_identifier: '''two'''
2120
- statement_terminator: ;
2221
- statement:
2322
- select_statement:
2423
- select_clause:
2524
- keyword: SELECT
2625
- select_clause_element:
2726
- numeric_literal: '3'
28-
- alias_expression:
29-
- keyword: AS
30-
- quoted_identifier: '"three"'
27+
- keyword: AS
28+
- quoted_identifier: '"three"'
3129
- statement_terminator: ;
3230
- statement:
3331
- select_statement:
3432
- select_clause:
3533
- keyword: SELECT
3634
- select_clause_element:
3735
- numeric_literal: '4'
38-
- alias_expression:
39-
- keyword: AS
40-
- quoted_identifier: '"four"'
36+
- keyword: AS
37+
- quoted_identifier: '"four"'
4138
- unparsable:
4239
- double_quote: '"_with_escaped_double_quotes"'
4340
- statement_terminator: ;

crates/lib-dialects/test/fixtures/dialects/mysql/explain.yml

+19-20
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,25 @@ file:
1111
- statement:
1212
- explain_statement:
1313
- keyword: explain
14-
- update_statement:
15-
- keyword: update
16-
- table_reference:
17-
- naked_identifier: tbl
18-
- set_clause_list:
19-
- keyword: set
20-
- set_clause:
21-
- column_reference:
22-
- naked_identifier: foo
23-
- comparison_operator:
24-
- raw_comparison_operator: =
25-
- numeric_literal: '1'
26-
- where_clause:
27-
- keyword: where
28-
- expression:
29-
- column_reference:
30-
- naked_identifier: bar
31-
- comparison_operator:
32-
- raw_comparison_operator: =
33-
- numeric_literal: '2'
14+
- keyword: update
15+
- table_reference:
16+
- naked_identifier: tbl
17+
- set_clause_list:
18+
- keyword: set
19+
- set_clause:
20+
- column_reference:
21+
- naked_identifier: foo
22+
- comparison_operator:
23+
- raw_comparison_operator: =
24+
- numeric_literal: '1'
25+
- where_clause:
26+
- keyword: where
27+
- expression:
28+
- column_reference:
29+
- naked_identifier: bar
30+
- comparison_operator:
31+
- raw_comparison_operator: =
32+
- numeric_literal: '2'
3433
- statement_terminator: ;
3534
- statement:
3635
- explain_statement:

crates/lib-dialects/test/fixtures/dialects/mysql/insert.yml

+4-6
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,8 @@ file:
7070
- binary_operator: +
7171
- column_reference:
7272
- naked_identifier: d
73-
- alias_expression:
74-
- keyword: AS
75-
- naked_identifier: e
73+
- keyword: AS
74+
- naked_identifier: e
7675
- from_clause:
7776
- keyword: FROM
7877
- from_expression:
@@ -81,9 +80,8 @@ file:
8180
- table_reference:
8281
- naked_identifier: t2
8382
- end_bracket: )
84-
- alias_expression:
85-
- keyword: AS
86-
- naked_identifier: dt
83+
- keyword: AS
84+
- naked_identifier: dt
8785
- statement_terminator: ;
8886
- statement:
8987
- insert_statement:

crates/lib-dialects/test/fixtures/dialects/mysql/quoted_literal.yml

+40-57
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ file:
2828
- select_clause_element:
2929
- column_reference:
3030
- quoted_identifier: '""'
31-
- alias_expression:
32-
- quoted_identifier: '""'
31+
- quoted_identifier: '""'
3332
- statement_terminator: ;
3433
- statement:
3534
- select_statement:
@@ -66,8 +65,7 @@ file:
6665
- select_clause_element:
6766
- column_reference:
6867
- quoted_identifier: '""'
69-
- alias_expression:
70-
- quoted_identifier: '"aaa"'
68+
- quoted_identifier: '"aaa"'
7169
- unparsable:
7270
- double_quote: '""'
7371
- statement_terminator: ;
@@ -90,19 +88,17 @@ file:
9088
- quoted_identifier: |-
9189
"
9290
"
93-
- alias_expression:
94-
- quoted_identifier: |-
95-
"
96-
"
91+
- quoted_identifier: |-
92+
"
93+
"
9794
- statement_terminator: ;
9895
- statement:
9996
- select_statement:
10097
- select_clause:
10198
- keyword: SELECT
10299
- select_clause_element:
103100
- quoted_literal: '''foo'''
104-
- alias_expression:
105-
- quoted_identifier: '''bar'''
101+
- quoted_identifier: '''bar'''
106102
- statement_terminator: ;
107103
- statement:
108104
- select_statement:
@@ -111,17 +107,15 @@ file:
111107
- select_clause_element:
112108
- column_reference:
113109
- quoted_identifier: '"foo"'
114-
- alias_expression:
115-
- quoted_identifier: '"bar"'
110+
- quoted_identifier: '"bar"'
116111
- statement_terminator: ;
117112
- statement:
118113
- select_statement:
119114
- select_clause:
120115
- keyword: SELECT
121116
- select_clause_element:
122117
- quoted_literal: '''foo'''
123-
- alias_expression:
124-
- quoted_identifier: '''bar'''
118+
- quoted_identifier: '''bar'''
125119
- statement_terminator: ;
126120
- statement:
127121
- select_statement:
@@ -130,26 +124,23 @@ file:
130124
- select_clause_element:
131125
- column_reference:
132126
- quoted_identifier: '"foo"'
133-
- alias_expression:
134-
- quoted_identifier: '"bar"'
127+
- quoted_identifier: '"bar"'
135128
- statement_terminator: ;
136129
- statement:
137130
- select_statement:
138131
- select_clause:
139132
- keyword: SELECT
140133
- select_clause_element:
141134
- quoted_literal: '''foo'''
142-
- alias_expression:
143-
- quoted_identifier: '"bar"'
135+
- quoted_identifier: '"bar"'
144136
- statement_terminator: ;
145137
- statement:
146138
- select_statement:
147139
- select_clause:
148140
- keyword: SELECT
149141
- select_clause_element:
150142
- quoted_literal: '''foo'''
151-
- alias_expression:
152-
- quoted_identifier: '''bar'''
143+
- quoted_identifier: '''bar'''
153144
- statement_terminator: ;
154145
- statement:
155146
- select_statement:
@@ -158,17 +149,15 @@ file:
158149
- select_clause_element:
159150
- column_reference:
160151
- quoted_identifier: '"foo"'
161-
- alias_expression:
162-
- quoted_identifier: '"bar"'
152+
- quoted_identifier: '"bar"'
163153
- statement_terminator: ;
164154
- statement:
165155
- select_statement:
166156
- select_clause:
167157
- keyword: SELECT
168158
- select_clause_element:
169159
- quoted_literal: '''foo'''
170-
- alias_expression:
171-
- quoted_identifier: '''bar'''
160+
- quoted_identifier: '''bar'''
172161
- statement_terminator: ;
173162
- statement:
174163
- select_statement:
@@ -177,17 +166,15 @@ file:
177166
- select_clause_element:
178167
- column_reference:
179168
- quoted_identifier: '"foo"'
180-
- alias_expression:
181-
- quoted_identifier: '"bar"'
169+
- quoted_identifier: '"bar"'
182170
- statement_terminator: ;
183171
- statement:
184172
- select_statement:
185173
- select_clause:
186174
- keyword: SELECT
187175
- select_clause_element:
188176
- quoted_literal: '''foo'''
189-
- alias_expression:
190-
- quoted_identifier: '''bar'''
177+
- quoted_identifier: '''bar'''
191178
- statement_terminator: ;
192179
- statement:
193180
- select_statement:
@@ -196,37 +183,34 @@ file:
196183
- select_clause_element:
197184
- column_reference:
198185
- quoted_identifier: '"foo"'
199-
- alias_expression:
200-
- quoted_identifier: '"bar"'
186+
- quoted_identifier: '"bar"'
201187
- statement_terminator: ;
202188
- statement:
203-
- update_statement:
204-
- keyword: UPDATE
205-
- table_reference:
206-
- naked_identifier: table1
207-
- set_clause_list:
208-
- keyword: SET
209-
- set_clause:
210-
- column_reference:
211-
- naked_identifier: column1
212-
- comparison_operator:
213-
- raw_comparison_operator: =
214-
- quoted_literal: '''baz\''s'''
189+
- keyword: UPDATE
190+
- table_reference:
191+
- naked_identifier: table1
192+
- set_clause_list:
193+
- keyword: SET
194+
- set_clause:
195+
- column_reference:
196+
- naked_identifier: column1
197+
- comparison_operator:
198+
- raw_comparison_operator: =
199+
- quoted_literal: '''baz\''s'''
215200
- statement_terminator: ;
216201
- statement:
217-
- update_statement:
218-
- keyword: UPDATE
219-
- table_reference:
220-
- naked_identifier: table1
221-
- set_clause_list:
222-
- keyword: SET
223-
- set_clause:
224-
- column_reference:
225-
- naked_identifier: column1
226-
- comparison_operator:
227-
- raw_comparison_operator: =
228-
- column_reference:
229-
- quoted_identifier: '"baz\"s"'
202+
- keyword: UPDATE
203+
- table_reference:
204+
- naked_identifier: table1
205+
- set_clause_list:
206+
- keyword: SET
207+
- set_clause:
208+
- column_reference:
209+
- naked_identifier: column1
210+
- comparison_operator:
211+
- raw_comparison_operator: =
212+
- column_reference:
213+
- quoted_identifier: '"baz\"s"'
230214
- statement_terminator: ;
231215
- statement:
232216
- select_statement:
@@ -257,8 +241,7 @@ file:
257241
- select_clause_element:
258242
- column_reference:
259243
- quoted_identifier: '"terminating ANSI-ish escaped double-quote "'
260-
- alias_expression:
261-
- quoted_identifier: '""'
244+
- quoted_identifier: '""'
262245
- statement_terminator: ;
263246
- statement:
264247
- select_statement:

crates/lib-dialects/test/fixtures/dialects/mysql/select_with_date_part_function.yml

+4-6
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,8 @@ file:
8484
- table_expression:
8585
- table_reference:
8686
- naked_identifier: example_table
87-
- alias_expression:
88-
- keyword: AS
89-
- naked_identifier: x
87+
- keyword: AS
88+
- naked_identifier: x
9089
- statement_terminator: ;
9190
- statement:
9291
- select_statement:
@@ -116,7 +115,6 @@ file:
116115
- table_expression:
117116
- table_reference:
118117
- naked_identifier: example_table
119-
- alias_expression:
120-
- keyword: AS
121-
- naked_identifier: x
118+
- keyword: AS
119+
- naked_identifier: x
122120
- statement_terminator: ;

0 commit comments

Comments
 (0)