diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c index 9a5dca763bd..5c1696ad828 100644 --- a/src/interfaces/ecpg/ecpglib/misc.c +++ b/src/interfaces/ecpg/ecpglib/misc.c @@ -219,10 +219,7 @@ ECPGtrans(int lineno, const char *connection_name, const char *transaction) return FALSE; PQclear(res); - if (strncmp(transaction, "commit", 6) == 0 || strncmp(transaction, "rollback", 8) == 0) - con->committed = true; - else - con->committed = false; + con->committed = (PQtransactionStatus(con->connection) == PQTRANS_IDLE); } return true;