diff -c psqlodbc.orig\connection.c psqlodbc\connection.c *** psqlodbc.orig\connection.c Sat Dec 10 08:39:31 2005 --- psqlodbc\connection.c Wed Dec 21 14:31:25 2005 *************** *** 1504,1516 **** used_passed_result_object = TRUE; if (!used_passed_result_object) { ! if ((res->status == PGRES_EMPTY_QUERY) || (res->status == PGRES_FATAL_ERROR) || ! (res->status == PGRES_BAD_RESPONSE)) { ! mylog("send_query: sended query failed -> abort\n"); QR_set_aborted(res, TRUE); QR_Destructor(res); ! res = NULL; goto cleanup; } if (create_keyset) --- 1504,1521 ---- used_passed_result_object = TRUE; if (!used_passed_result_object) { ! if ((res->status == PGRES_EMPTY_QUERY) || (res->status == PGRES_BAD_RESPONSE)) { ! mylog("send_query: sending query failed -> abort\n"); QR_set_aborted(res, TRUE); QR_Destructor(res); ! res = NULL; + goto cleanup; + } + else if (res->status == PGRES_FATAL_ERROR) + { + mylog("send_query: sended query failed -> abort\n"); + QR_set_aborted(res, TRUE); goto cleanup; } if (create_keyset)