dstandish commented on a change in pull request #11350:
URL: https://github.com/apache/airflow/pull/11350#discussion_r550017727
##########
File path: airflow/providers/snowflake/hooks/snowflake.py
##########
@@ -142,3 +141,18 @@ def set_autocommit(self, conn, autocommit: Any) -> None:
def get_autocommit(self, conn):
return getattr(conn, 'autocommit_mode', False)
+
+ def run(self, sql, autocommit=False, parameters=None):
+ """
+ Snowflake-connector doesn't allow natively the execution of multiple
SQL statements in the same
+ call. So for allowing to pass files or strings with several queries
this method is coded,
+ that relies on run from DBApiHook
+ """
+ if isinstance(sql, str):
Review comment:
ok so you want to run with execute_string if `str` and use dbapi.run
otherwise (e.g. if it is `List[str]`)
it seems reasonable. but another option would be to use snowflake's
`split_statements` function
https://github.com/snowflakedb/snowflake-connector-python/blob/master/src/snowflake/connector/util_text.py#L32
what you could do is always split and then you can always dbapi run. this
would save you the type checking and autocommit logic.
but i think you can reasonably go either way.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]