"""Helper functions for Connectors. Helper methods for database connections. """ from owsresponse import response from sentry_sdk import capture_exception def execute_query(db_conn, query, params=()): """Execute a query on database connection. 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 as ex: # this is a problem, we can't use our results capture_exception(ex) return response.create_error_response("database_error", "{}".format(ex)) finally: try: if db_cursor: db_cursor.close() except Exception as ex: capture_exception(ex)