From 901b89e37bb8e71224ee76987679010ff3c93c05 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Tue, 26 Mar 2013 15:21:57 +0200 Subject: Get rid of obsolete parse_version helper function. For getting the server's version in numeric form, use PQserverVersion(). It does the exact same parsing as dumputils.c's parse_version(), and has been around in libpq for a long time. For the client's version, just use the PG_VERSION_NUM constant. --- src/bin/pg_dump/pg_backup_db.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) (limited to 'src/bin/pg_dump/pg_backup_db.c') diff --git a/src/bin/pg_dump/pg_backup_db.c b/src/bin/pg_dump/pg_backup_db.c index 544d01a4ddc..e16c193e3be 100644 --- a/src/bin/pg_dump/pg_backup_db.c +++ b/src/bin/pg_dump/pg_backup_db.c @@ -29,39 +29,23 @@ static void _check_database_version(ArchiveHandle *AH); static PGconn *_connectDB(ArchiveHandle *AH, const char *newdbname, const char *newUser); static void notice_processor(void *arg, const char *message); -static int -_parse_version(const char *versionString) -{ - int v; - - v = parse_version(versionString); - if (v < 0) - exit_horribly(modulename, "could not parse version string \"%s\"\n", versionString); - - return v; -} - static void _check_database_version(ArchiveHandle *AH) { - int myversion; const char *remoteversion_str; int remoteversion; - myversion = _parse_version(PG_VERSION); - remoteversion_str = PQparameterStatus(AH->connection, "server_version"); - if (!remoteversion_str) + remoteversion = PQserverVersion(AH->connection); + if (remoteversion == 0 || !remoteversion_str) exit_horribly(modulename, "could not get server_version from libpq\n"); - remoteversion = _parse_version(remoteversion_str); - AH->public.remoteVersionStr = pg_strdup(remoteversion_str); AH->public.remoteVersion = remoteversion; if (!AH->archiveRemoteVersion) AH->archiveRemoteVersion = AH->public.remoteVersionStr; - if (myversion != remoteversion + if (remoteversion != PG_VERSION_NUM && (remoteversion < AH->public.minRemoteVersion || remoteversion > AH->public.maxRemoteVersion)) { -- cgit v1.2.3