From 886c61de7c535082a8e2911ce898bca6e02ac4c4 Mon Sep 17 00:00:00 2001 From: bojan Date: Tue, 25 Apr 2006 08:26:09 +0000 Subject: Check bad transaction state in dbd_pgsql_pquery()/dbd_pgsql_pselect() git-svn-id: http://svn.apache.org/repos/asf/apr/apr-util/trunk@396811 13f79535-47bb-0310-9956-ffa450edef68 --- dbd/apr_dbd_pgsql.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'dbd') diff --git a/dbd/apr_dbd_pgsql.c b/dbd/apr_dbd_pgsql.c index 1d09f5e3..032ec7f1 100644 --- a/dbd/apr_dbd_pgsql.c +++ b/dbd/apr_dbd_pgsql.c @@ -358,6 +358,11 @@ static int dbd_pgsql_pquery(apr_pool_t *pool, apr_dbd_t *sql, { int ret; PGresult *res; + + if (sql->trans && sql->trans->errnum) { + return sql->trans->errnum; + } + if (statement->prepared) { res = PQexecPrepared(sql->conn, statement->name, nargs, values, 0, 0, 0); @@ -414,6 +419,11 @@ static int dbd_pgsql_pselect(apr_pool_t *pool, apr_dbd_t *sql, PGresult *res; int rv; int ret = 0; + + if (sql->trans && sql->trans->errnum) { + return sql->trans->errnum; + } + if (seek) { /* synchronous query */ if (statement->prepared) { res = PQexecPrepared(sql->conn, statement->name, nargs, values, 0, -- cgit v1.2.1