@@ -289,7 +289,7 @@ def parse(self: Parser) -> t.Optional[exp.Expression]:
289289PARSERS = {"MODEL" : _parse_model , "AUDIT" : _parse_audit }
290290
291291
292- def _model_sql (self : Generator , expression : exp . Expression ) -> str :
292+ def _model_sql (self : Generator , expression : Model ) -> str :
293293 props = ",\n " .join (
294294 self .indent (f"{ prop .name } { self .sql (prop , 'value' )} " ) for prop in expression .expressions
295295 )
@@ -313,7 +313,7 @@ def _macro_keyword_func_sql(self: Generator, expression: exp.Expression) -> str:
313313 return self .sql (clause ).replace (keyword , macro , 1 )
314314
315315
316- def _macro_func_sql (self : Generator , expression : exp . Expression ) -> str :
316+ def _macro_func_sql (self : Generator , expression : MacroFunc ) -> str :
317317 expression = expression .this
318318 name = expression .name
319319 if name in KEYWORD_MACROS :
@@ -335,8 +335,9 @@ def format_model_expressions(
335335 Args:
336336 expressions: The model's expressions, must be at least model def + query.
337337 dialect: The dialect to render the expressions as.
338+
338339 Returns:
339- A string with the formatted model.
340+ A string representing the formatted model.
340341 """
341342 if len (expressions ) == 1 :
342343 return expressions [0 ].sql (pretty = True , dialect = dialect )
@@ -446,7 +447,7 @@ def parse(sql: str, default_dialect: t.Optional[str] = None) -> t.List[exp.Expre
446447 default_dialect: The dialect to use if the model does not specify one.
447448
448449 Returns:
449- A list of the expressions, [Model, *Statements, Query | Jinja ]
450+ A list of the parsed expressions: [Model, *Statements, Query, *Statements ]
450451 """
451452 match = DIALECT_PATTERN .search (sql [:MAX_MODEL_DEFINITION_SIZE ])
452453 dialect = Dialect .get_or_raise (match .group (2 ) if match else default_dialect )()
@@ -528,16 +529,8 @@ def extend_sqlglot() -> None:
528529 generator .WITH_SEPARATED_COMMENTS = (* generator .WITH_SEPARATED_COMMENTS , Model ) # type: ignore
529530
530531 for parser in parsers :
531- parser .FUNCTIONS .update (
532- {
533- "JINJA" : Jinja .from_arg_list ,
534- }
535- )
536- parser .PLACEHOLDER_PARSERS .update (
537- {
538- TokenType .PARAMETER : _parse_macro ,
539- }
540- )
532+ parser .FUNCTIONS .update ({"JINJA" : Jinja .from_arg_list })
533+ parser .PLACEHOLDER_PARSERS .update ({TokenType .PARAMETER : _parse_macro })
541534
542535 _override (Parser , _parse_statement )
543536 _override (Parser , _parse_join )
0 commit comments