diff --git a/src/bin/pg_dump/pg_backup_db.c b/src/bin/pg_dump/pg_backup_db.c index 60e9deaba73..fea10bce298 100644 --- a/src/bin/pg_dump/pg_backup_db.c +++ b/src/bin/pg_dump/pg_backup_db.c @@ -406,6 +406,29 @@ ExecuteSqlQuery(Archive *AHX, const char *query, ExecStatusType status) return res; } +/* + * Execute an SQL query and verify that we got exactly one row back. + */ +PGresult * +ExecuteSqlQueryForSingleRow(Archive *fout, char *query) +{ + PGresult *res; + int ntups; + + res = ExecuteSqlQuery(fout, query, PGRES_TUPLES_OK); + + /* Expecting a single result only */ + ntups = PQntuples(res); + if (ntups != 1) + exit_horribly(NULL, + ngettext("query returned %d row instead of one: %s\n", + "query returned %d rows instead of one: %s\n", + ntups), + ntups, query); + + return res; +} + /* * Convenience function to send a query. * Monitors result to detect COPY statements diff --git a/src/bin/pg_dump/pg_backup_db.h b/src/bin/pg_dump/pg_backup_db.h index 2eea1c33ebd..b7036e6bd80 100644 --- a/src/bin/pg_dump/pg_backup_db.h +++ b/src/bin/pg_dump/pg_backup_db.h @@ -15,6 +15,7 @@ extern int ExecuteSqlCommandBuf(ArchiveHandle *AH, const char *buf, size_t bufLe extern void ExecuteSqlStatement(Archive *AHX, const char *query); extern PGresult *ExecuteSqlQuery(Archive *AHX, const char *query, ExecStatusType status); +extern PGresult *ExecuteSqlQueryForSingleRow(Archive *fout, char *query); extern void EndDBCopyMode(ArchiveHandle *AH, struct _tocEntry * te); diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index c870b7dfc5f..c0a9d8b7c70 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -283,7 +283,6 @@ static bool nonemptyReloptions(const char *reloptions); static void fmtReloptionsArray(Archive *fout, PQExpBuffer buffer, const char *reloptions, const char *prefix); static char *get_synchronized_snapshot(Archive *fout); -static PGresult *ExecuteSqlQueryForSingleRow(Archive *fout, char *query); static void setupDumpWorker(Archive *AHX, RestoreOptions *ropt); @@ -15295,26 +15294,3 @@ fmtReloptionsArray(Archive *fout, PQExpBuffer buffer, const char *reloptions, if (options) free(options); } - -/* - * Execute an SQL query and verify that we got exactly one row back. - */ -static PGresult * -ExecuteSqlQueryForSingleRow(Archive *fout, char *query) -{ - PGresult *res; - int ntups; - - res = ExecuteSqlQuery(fout, query, PGRES_TUPLES_OK); - - /* Expecting a single result only */ - ntups = PQntuples(res); - if (ntups != 1) - exit_horribly(NULL, - ngettext("query returned %d row instead of one: %s\n", - "query returned %d rows instead of one: %s\n", - ntups), - ntups, query); - - return res; -}