[docs]defexecute_many_sql(conn_or_engine:T_CONN_OR_ENGINE,sql:T.Union[str,list[str]],):""" Utility function to execute multiple SQL statements. :param conn_or_engine: Redshift connection or SQLAlchemy engine. :param sql: A single SQL statement or a list of SQL statements to execute. """ifisinstance(sql,str):sql_list=[sql]elifisinstance(sql,list):sql_list=sqlelse:# pragma: no coverraiseTypeError("sql must be a str or a list of str")ifisinstance(conn_or_engine,redshift_connector.Connection):withSession(conn_or_engine)ascursor:forsqlinsql_list:cursor.execute(sql)conn_or_engine.commit()elifisinstance(conn_or_engine,sa.Engine):withconn_or_engine.connect()asconn:forsqlinsql_list:conn.execute(sa.text(sql))conn.commit()else:# pragma: no coverraiseTypeError("conn_or_engine must be a redshift_connector.Connection")