File tree Expand file tree Collapse file tree
test/fixtures/dialects/bigquery Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -960,7 +960,11 @@ class DatatypeSegment(ansi.DatatypeSegment):
960960 """
961961
962962 match_grammar = OneOf ( # Parameter type
963- Ref ("DatatypeIdentifierSegment" ), # Simple type
963+ Sequence (
964+ Ref ("DatatypeIdentifierSegment" ), # Simple type
965+ # https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#parameterized_data_types
966+ Bracketed (Delimited (Ref ("NumericLiteralSegment" )), optional = True ),
967+ ),
964968 Sequence ("ANY" , "TYPE" ), # SQL UDFs can specify this "type"
965969 Ref ("SimpleArrayTypeGrammar" ),
966970 Ref ("StructTypeSegment" ),
@@ -1372,7 +1376,6 @@ class ColumnDefinitionSegment(ansi.ColumnDefinitionSegment):
13721376 match_grammar : Matchable = Sequence (
13731377 Ref ("SingleIdentifierGrammar" ), # Column name
13741378 Ref ("DatatypeSegment" ), # Column type
1375- Bracketed (Anything (), optional = True ), # For types like VARCHAR(100)
13761379 AnyNumberOf (
13771380 Ref ("ColumnConstraintSegment" , optional = True ),
13781381 ),
Original file line number Diff line number Diff line change @@ -2,14 +2,18 @@ declare var1 int64;
22declare var2, var3 string;
33declare var4 default ' value' ;
44declare var5 int64 default 1 + 2 ;
5+ declare var6 string(10 );
6+ declare var7 numeric (5 , 2 );
57declare arr1 array< string> ;
68declare arr2 default [' one' , ' two' ];
79declare arr3 default [];
810declare arr4 array< string> default [' one' , ' two' ];
11+ declare arr5 array< string(10 )> ;
912declare str1 struct< f1 string, f2 string> ;
1013declare str2 struct< f1 string, f2 string> default struct(' one' , ' two' );
1114declare str3 default struct(' one' , ' two' );
1215declare str4 struct< f1 string, f2 string> default (' one' , ' two' );
16+ declare str5 struct< f1 string(10 ), f2 string(10 )> ;
1317-- Defining variables in quoted names
1418declare ` var1` string;
1519declare ` var1` string default ' value' ;
Original file line number Diff line number Diff line change 33# computed by SQLFluff when running the tests. Please run
44# `python test/generate_parse_fixture_yml.py` to generate them after adding or
55# altering SQL files.
6- _hash : e7c3d1f233e5041e5097f81128665af7895b563ccfcf6e247911f714db0b0c04
6+ _hash : a7344a57c0e59ce697ccfabc4e78ada5ea7a5f53123ec3a8839bca556863d42d
77file :
88- statement :
99 declare_segment :
4040 - binary_operator : +
4141 - numeric_literal : ' 2'
4242- statement_terminator : ;
43+ - statement :
44+ declare_segment :
45+ keyword : declare
46+ naked_identifier : var6
47+ data_type :
48+ data_type_identifier : string
49+ bracketed :
50+ start_bracket : (
51+ numeric_literal : ' 10'
52+ end_bracket : )
53+ - statement_terminator : ;
54+ - statement :
55+ declare_segment :
56+ keyword : declare
57+ naked_identifier : var7
58+ data_type :
59+ data_type_identifier : numeric
60+ bracketed :
61+ - start_bracket : (
62+ - numeric_literal : ' 5'
63+ - comma : ' ,'
64+ - numeric_literal : ' 2'
65+ - end_bracket : )
66+ - statement_terminator : ;
4367- statement :
4468 declare_segment :
4569 keyword : declare
@@ -90,6 +114,21 @@ file:
90114 - quoted_literal : " 'two'"
91115 - end_square_bracket : ' ]'
92116- statement_terminator : ;
117+ - statement :
118+ declare_segment :
119+ keyword : declare
120+ naked_identifier : arr5
121+ data_type :
122+ keyword : array
123+ start_angle_bracket : <
124+ data_type :
125+ data_type_identifier : string
126+ bracketed :
127+ start_bracket : (
128+ numeric_literal : ' 10'
129+ end_bracket : )
130+ end_angle_bracket : ' >'
131+ - statement_terminator : ;
93132- statement :
94133 declare_segment :
95134 keyword : declare
@@ -174,6 +213,31 @@ file:
174213 - quoted_literal : " 'two'"
175214 - end_bracket : )
176215- statement_terminator : ;
216+ - statement :
217+ declare_segment :
218+ keyword : declare
219+ naked_identifier : str5
220+ data_type :
221+ struct_type :
222+ - keyword : struct
223+ - start_angle_bracket : <
224+ - parameter : f1
225+ - data_type :
226+ data_type_identifier : string
227+ bracketed :
228+ start_bracket : (
229+ numeric_literal : ' 10'
230+ end_bracket : )
231+ - comma : ' ,'
232+ - parameter : f2
233+ - data_type :
234+ data_type_identifier : string
235+ bracketed :
236+ start_bracket : (
237+ numeric_literal : ' 10'
238+ end_bracket : )
239+ - end_angle_bracket : ' >'
240+ - statement_terminator : ;
177241- statement :
178242 declare_segment :
179243 keyword : declare
You can’t perform that action at this time.
0 commit comments