postgres.git / summary / log / commit / refs

commit    af3f5293ef64a3f981e8b2e736b5f18b0501ef9e
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Sat Aug 16 02:25:30 2008 +0000
First released in: 8.4.0, 7.4.22, 8.0.18, 8.1.14, 8.2.10, 8.3.4

    Fix pg_dump/pg_restore's ExecuteSqlCommand() to behave suitably if PQexec
    returns NULL instead of a PGresult.  The former coding would fail, which
    is OK, but it neglected to give you the PQerrorMessage that might tell
    you why.  In the oldest branches, there was another problem: it'd sometimes
    report PQerrorMessage from the wrong connection.


src/bin/pg_dump/pg_backup_db.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/bin/pg_dump/pg_backup_db.c b/src/bin/pg_dump/pg_backup_db.c index b417128111f..b4bf2820beb 100644 --- a/src/bin/pg_dump/pg_backup_db.c +++ b/src/bin/pg_dump/pg_backup_db.c @@ -5,7 +5,7 @@ * Implements the basic DB functions used by the archiver. * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_db.c,v 1.61.4.3 2006/02/09 18:28:43 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_db.c,v 1.61.4.4 2008/08/16 02:25:30 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -309,8 +309,6 @@ _executeSqlCommand(ArchiveHandle *AH, PGconn *conn, PQExpBuffer qry, char *desc) /* fprintf(stderr, "Executing: '%s'\n\n", qry->data); */ res = PQexec(conn, qry->data); - if (!res) - die_horribly(AH, modulename, "%s: no result from server\n", desc); if (PQresultStatus(res) != PGRES_COMMAND_OK && PQresultStatus(res) != PGRES_TUPLES_OK) { @@ -332,8 +330,7 @@ _executeSqlCommand(ArchiveHandle *AH, PGconn *conn, PQExpBuffer qry, char *desc) errStmt[DB_MAX_ERR_STMT - 1] = '\0'; } warn_or_die_horribly(AH, modulename, "%s: %s Command was: %s\n", - desc, PQerrorMessage(AH->connection), - errStmt); + desc, PQerrorMessage(conn), errStmt); } } [parent: 1848ea720044]