@@ -290,11 +290,11 @@ class Parser(metaclass=_Parser):
290290 "RIGHTPAD" : lambda args : build_pad (args , is_left = False ),
291291 "RPAD" : lambda args : build_pad (args , is_left = False ),
292292 "RTRIM" : lambda args : build_trim (args , is_left = False ),
293- "SCOPE_RESOLUTION" : lambda args : exp . ScopeResolution (
294- expression = seq_get (args , 0 )
295- )
296- if len ( args ) != 2
297- else exp . ScopeResolution ( this = seq_get ( args , 0 ), expression = seq_get ( args , 1 ) ),
293+ "SCOPE_RESOLUTION" : lambda args : (
294+ exp . ScopeResolution ( expression = seq_get (args , 0 ) )
295+ if len ( args ) != 2
296+ else exp . ScopeResolution ( this = seq_get ( args , 0 ), expression = seq_get ( args , 1 ))
297+ ),
298298 "STRPOS" : exp .StrPosition .from_arg_list ,
299299 "CHARINDEX" : lambda args : build_locate_strposition (args ),
300300 "INSTR" : exp .StrPosition .from_arg_list ,
@@ -943,7 +943,9 @@ class Parser(metaclass=_Parser):
943943 }
944944
945945 UNARY_PARSERS = {
946- TokenType .PLUS : lambda self : self ._parse_unary (), # Unary + is handled as a no-op
946+ TokenType .PLUS : lambda self : (
947+ self ._parse_unary ()
948+ ), # Unary + is handled as a no-op
947949 TokenType .NOT : lambda self : self .expression (
948950 exp .Not , this = self ._parse_equality ()
949951 ),
@@ -1246,12 +1248,14 @@ class Parser(metaclass=_Parser):
12461248 exp .NotNullColumnConstraint , allow_null = True
12471249 ),
12481250 "ON" : lambda self : (
1249- self ._match (TokenType .UPDATE )
1250- and self .expression (
1251- exp .OnUpdateColumnConstraint , this = self ._parse_function ()
1251+ (
1252+ self ._match (TokenType .UPDATE )
1253+ and self .expression (
1254+ exp .OnUpdateColumnConstraint , this = self ._parse_function ()
1255+ )
12521256 )
1253- )
1254- or self . expression ( exp . OnProperty , this = self . _parse_id_var () ),
1257+ or self . expression ( exp . OnProperty , this = self . _parse_id_var () )
1258+ ),
12551259 "PATH" : lambda self : self .expression (
12561260 exp .PathColumnConstraint , this = self ._parse_string ()
12571261 ),
@@ -3885,8 +3889,9 @@ def _parse_hint_body(self) -> t.Optional[exp.Hint]:
38853889 try :
38863890 for hint in iter (
38873891 lambda : self ._parse_csv (
3888- lambda : self ._parse_hint_function_call ()
3889- or self ._parse_var (upper = True ),
3892+ lambda : (
3893+ self ._parse_hint_function_call () or self ._parse_var (upper = True )
3894+ ),
38903895 ),
38913896 [],
38923897 ):
@@ -4305,8 +4310,9 @@ def _parse_table_hints(self) -> t.Optional[t.List[exp.Expression]]:
43054310 self .expression (
43064311 exp .WithTableHint ,
43074312 expressions = self ._parse_csv (
4308- lambda : self ._parse_function ()
4309- or self ._parse_var (any_token = True )
4313+ lambda : (
4314+ self ._parse_function () or self ._parse_var (any_token = True )
4315+ )
43104316 ),
43114317 )
43124318 )
@@ -4485,7 +4491,6 @@ def _parse_table(
44854491 if self .dialect .ALIAS_POST_TABLESAMPLE :
44864492 this .set ("sample" , self ._parse_table_sample ())
44874493
4488-
44894494 if self ._match (TokenType .INDEXED_BY ):
44904495 this .set ("indexed" , self ._parse_table_parts ())
44914496 elif self ._match_text_seq ("NOT" , "INDEXED" ):
@@ -4938,11 +4943,13 @@ def _parse_group(self, skip_group_by_token: bool = False) -> t.Optional[exp.Grou
49384943
49394944 elements ["expressions" ].extend (
49404945 self ._parse_csv (
4941- lambda : None
4942- if self ._match_set (
4943- (TokenType .CUBE , TokenType .ROLLUP ), advance = False
4946+ lambda : (
4947+ None
4948+ if self ._match_set (
4949+ (TokenType .CUBE , TokenType .ROLLUP ), advance = False
4950+ )
4951+ else self ._parse_disjunction ()
49444952 )
4945- else self ._parse_disjunction ()
49464953 )
49474954 )
49484955
@@ -6228,9 +6235,9 @@ def _parse_column_ops(
62286235 # https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-reference#function_call_rules
62296236 if isinstance (field , (exp .Func , exp .Window )) and this :
62306237 this = this .transform (
6231- lambda n : n . to_dot ( include_dots = False )
6232- if isinstance (n , exp .Column )
6233- else n
6238+ lambda n : (
6239+ n . to_dot ( include_dots = False ) if isinstance (n , exp .Column ) else n
6240+ )
62346241 )
62356242
62366243 if op :
0 commit comments