|
5 | 5 | *Implements the basic DB functions used by the archiver.
|
6 | 6 | *
|
7 | 7 | * IDENTIFICATION
|
8 |
| - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_db.c,v 1.47 2003/05/14 03:26:02 tgl Exp $ |
| 8 | + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_backup_db.c,v 1.48 2003/06/22 00:56:58 tgl Exp $ |
9 | 9 | *
|
10 | 10 | *-------------------------------------------------------------------------
|
11 | 11 | */
|
@@ -53,29 +53,23 @@ _parse_version(ArchiveHandle *AH, const char *versionString)
|
53 | 53 | staticvoid
|
54 | 54 | _check_database_version(ArchiveHandle*AH,boolignoreVersion)
|
55 | 55 | {
|
56 |
| -PGresult*res; |
57 | 56 | intmyversion;
|
58 | 57 | constchar*remoteversion_str;
|
59 | 58 | intremoteversion;
|
60 |
| -PGconn*conn=AH->connection; |
61 | 59 |
|
62 | 60 | myversion=_parse_version(AH,PG_VERSION);
|
63 | 61 |
|
64 |
| -res=PQexec(conn,"SELECT version();"); |
65 |
| -if (!res|| |
66 |
| -PQresultStatus(res)!=PGRES_TUPLES_OK|| |
67 |
| -PQntuples(res)!=1) |
68 |
| -die_horribly(AH,modulename,"could not get version from server: %s",PQerrorMessage(conn)); |
69 |
| - |
70 |
| -remoteversion_str=PQgetvalue(res,0,0); |
71 |
| -remoteversion=_parse_version(AH,remoteversion_str+11); |
| 62 | +remoteversion_str=PQparameterStatus(AH->connection,"server_version"); |
| 63 | +if (!remoteversion_str) |
| 64 | +die_horribly(AH,modulename,"could not get server_version from libpq\n"); |
72 | 65 |
|
73 |
| -PQclear(res); |
| 66 | +remoteversion=_parse_version(AH,remoteversion_str); |
74 | 67 |
|
75 | 68 | AH->public.remoteVersion=remoteversion;
|
76 | 69 |
|
77 | 70 | if (myversion!=remoteversion
|
78 |
| -&& (remoteversion<AH->public.minRemoteVersion||remoteversion>AH->public.maxRemoteVersion)) |
| 71 | +&& (remoteversion<AH->public.minRemoteVersion|| |
| 72 | +remoteversion>AH->public.maxRemoteVersion)) |
79 | 73 | {
|
80 | 74 | write_msg(NULL,"server version: %s; %s version: %s\n",
|
81 | 75 | remoteversion_str,progname,PG_VERSION);
|
|