} while (next_result);
/* may need this to recover from conn loss during COPY */
} while (next_result);
/* may need this to recover from conn loss during COPY */
- if (!CheckConnection())
+ if (!first_cycle && !CheckConnection())
return false;
return success;
return false;
return success;
case PQTRANS_UNKNOWN:
default:
OK = false;
case PQTRANS_UNKNOWN:
default:
OK = false;
- psql_error("unexpected transaction status (%d)\n",
- transaction_status);
+ /* PQTRANS_UNKNOWN is expected given a broken connection. */
+ if (transaction_status != PQTRANS_UNKNOWN || ConnectionUp())
+ psql_error("unexpected transaction status (%d)\n",
+ transaction_status);