@@ -659,7 +659,7 @@ def get_df(
659659 schema : str | None = None ,
660660 mutator : Callable [[pd .DataFrame ], None ] | None = None ,
661661 ) -> pd .DataFrame :
662- sqls = self .db_engine_spec .parse_sql ( sql )
662+ script = SQLScript ( sql , self .db_engine_spec .engine )
663663 with self .get_sqla_engine (catalog = catalog , schema = schema ) as engine :
664664 engine_url = engine .url
665665
@@ -676,8 +676,11 @@ def _log_query(sql: str) -> None:
676676 with self .get_raw_connection (catalog = catalog , schema = schema ) as conn :
677677 cursor = conn .cursor ()
678678 df = None
679- for i , sql_ in enumerate (sqls ):
680- sql_ = self .mutate_sql_based_on_config (sql_ , is_split = True )
679+ for i , statement in enumerate (script .statements ):
680+ sql_ = self .mutate_sql_based_on_config (
681+ statement .format (),
682+ is_split = True ,
683+ )
681684 _log_query (sql_ )
682685 with event_logger .log_context (
683686 action = "execute_sql" ,
@@ -686,7 +689,7 @@ def _log_query(sql: str) -> None:
686689 ):
687690 self .db_engine_spec .execute (cursor , sql_ , self )
688691
689- rows = self .fetch_rows (cursor , i == len (sqls ) - 1 )
692+ rows = self .fetch_rows (cursor , i == len (script . statements ) - 1 )
690693 if rows is not None :
691694 df = self .load_into_dataframe (cursor .description , rows )
692695
0 commit comments