|
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); |
|