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]


Reply via email to