def test_recovers_connection_after_sql_error(self): import psycopg2 conn, table_name = self.create_sql_table( np.arange(25).reshape((-1, 1))) sql_table = SqlTable(conn, table_name) try: broken_query = "SELECT 1/%s FROM %s" % ( sql_table.domain.attributes[0].to_sql(), sql_table.table_name) with sql_table._execute_sql_query(broken_query) as cur: cur.fetchall() except psycopg2.DataError: pass working_query = "SELECT %s FROM %s" % ( sql_table.domain.attributes[0].to_sql(), sql_table.table_name) with sql_table._execute_sql_query(working_query) as cur: cur.fetchall()