*
* Copyright (c) 2000-2008, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/common.c,v 1.139 2008/05/14 19:10:29 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/common.c,v 1.140 2008/08/16 01:36:35 tgl Exp $
*/
#include "postgres_fe.h"
#include "common.h"
/* If we made a temporary savepoint, possibly release/rollback */
if (on_error_rollback_savepoint)
{
- PGresult *svptres;
+ const char *svptcmd;
transaction_status = PQtransactionStatus(pset.db);
- /* We always rollback on an error */
if (transaction_status == PQTRANS_INERROR)
- svptres = PQexec(pset.db, "ROLLBACK TO pg_psql_temporary_savepoint");
- /* If they are no longer in a transaction, then do nothing */
+ {
+ /* We always rollback on an error */
+ svptcmd = "ROLLBACK TO pg_psql_temporary_savepoint";
+ }
else if (transaction_status != PQTRANS_INTRANS)
- svptres = NULL;
+ {
+ /* If they are no longer in a transaction, then do nothing */
+ svptcmd = NULL;
+ }
else
{
/*
(strcmp(PQcmdStatus(results), "SAVEPOINT") == 0 ||
strcmp(PQcmdStatus(results), "RELEASE") == 0 ||
strcmp(PQcmdStatus(results), "ROLLBACK") == 0))
- svptres = NULL;
+ svptcmd = NULL;
else
- svptres = PQexec(pset.db, "RELEASE pg_psql_temporary_savepoint");
+ svptcmd = "RELEASE pg_psql_temporary_savepoint";
}
- if (svptres && PQresultStatus(svptres) != PGRES_COMMAND_OK)
+
+ if (svptcmd)
{
- psql_error("%s", PQerrorMessage(pset.db));
- PQclear(results);
+ PGresult *svptres;
+
+ svptres = PQexec(pset.db, svptcmd);
+ if (PQresultStatus(svptres) != PGRES_COMMAND_OK)
+ {
+ psql_error("%s", PQerrorMessage(pset.db));
+ PQclear(svptres);
+
+ PQclear(results);
+ ResetCancelConn();
+ return false;
+ }
PQclear(svptres);
- ResetCancelConn();
- return false;
}
-
- PQclear(svptres);
}
PQclear(results);
*
* Copyright (c) 2000-2008, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.170 2008/03/29 19:19:14 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.171 2008/08/16 01:36:35 tgl Exp $
*/
/*----------------------------------------------------------------------
result = PQexec(pset.db, query);
- if (result != NULL && PQresultStatus(result) != PGRES_TUPLES_OK)
+ if (PQresultStatus(result) != PGRES_TUPLES_OK)
{
#if 0
- psql_error("tab completion: %s failed - %s\n",
- query, PQresStatus(PQresultStatus(result)));
+ psql_error("tab completion query failed: %s\nQuery was:\n%s\n",
+ PQerrorMessage(pset.db), query);
#endif
PQclear(result);
result = NULL;