"""Helper functions for Connectors. Helper methods for database connections. """ from typing import Any from pymysql.connections import Connection from snowflake.connector import SnowflakeConnection def execute_query( db_conn: Connection | SnowflakeConnection, query: str, params: tuple[Any, ...] = (), ) -> Any: """Executes a query and returns the results. Args: db_conn (Connection): database connection. query (str): query to execute on database. params (tuple): parameters passed in to query. Returns: tuple: query results. """ try: db_cursor = db_conn.cursor() db_cursor.execute(query, params) results = db_cursor.fetchall() db_conn.commit() return results except Exception: db_conn.rollback() raise finally: if db_cursor: db_cursor.close()