def _execute_query(self, sql_connection: Connection, sql_query: Query) -> List[Dict[(str, Any)]]:
    start_time: float = time.time()
    return_result: List[Dict[(str, Any)]] = None
    try:
        result: ResultProxy = sql_connection.execute(sql_query)
        if result.returns_rows:
            return_result: List[Dict[(str, Any)]] = self._parse_result_proxy(result)
    except Exception as e:
        logger.info(f'SQL query failed: {e}')
        logger.debug(f'SQL query {str(sql_query.compile())}, connection: {sql_connection.engine} failed with exception {e}')
        raise e
    finally:
        end_time: float = time.time()
        query_time: float = (end_time - start_time)
        logger.info(f'SQL execute time: {query_time}')
        logger.debug(f'SQL execute time: {query_time}, query: {str(sql_query.compile())}, connection: {sql_connection.engine}')
    return return_result
def _execute_query(self, sql_connection: Connection, sql_query: Query) -> List[Dict[(str, Any)]]:
    start_time: float = time.time()
    return_result: List[Dict[(str, Any)]] = None
    try:
        result: ResultProxy = sql_connection.execute(sql_query)
        if result.returns_rows:
            return_result: List[Dict[(str, Any)]] = self._parse_result_proxy(result)
    except Exception as e:
        logger.info(f'SQL query failed: {e}')
        logger.debug(f'SQL query {str(sql_query.compile())}, connection: {sql_connection.engine} failed with exception {e}')
        raise e
    finally:
        end_time: float = time.time()
        query_time: float = (end_time - start_time)
        logger.info(f'SQL execute time: {query_time}')
        logger.debug(f'SQL execute time: {query_time}, query: {str(sql_query.compile())}, connection: {sql_connection.engine}')
    return return_result