"""Proxy for snowflake requests in order to log them in New Relic.""" from ddtrace import tracer from snowflake_connector import snowflake_conn DEFAULT_CONFIG = { "pool_pre_ping": False, "pool_reset_on_return": None, "commit_before_close": False, } @tracer.wrap(name="snowflake_fetchone") def fetchone(*args, **kwargs): """Passthrough to Snowflake to fetchone.""" kwargs.update(DEFAULT_CONFIG) return snowflake_conn.fetchone(*args, **kwargs) @tracer.wrap(name="snowflake_fetchall") def fetchall(*args, **kwargs): """Passthrough to Snowflake to fetchall.""" kwargs.update(DEFAULT_CONFIG) return snowflake_conn.fetchall(*args, **kwargs) def SQLLoader(path): """Create a SQL loader in given path.""" return snowflake_conn.SQLLoader(path)