Обсуждение: PQserverVersion
Index: doc/src/sgml/libpq.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql-server/doc/src/sgml/libpq.sgml,v
retrieving revision 1.157
diff -c -r1.157 libpq.sgml
*** doc/src/sgml/libpq.sgml 8 Jun 2004 13:49:22 -0000 1.157
--- doc/src/sgml/libpq.sgml 10 Aug 2004 15:48:59 -0000
***************
*** 894,899 ****
--- 894,916 ----
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><function>PQserverVersion</function><indexterm><primary>PQserverVersion</></></term>
+ <listitem>
+ <para>
+ Returns an integer representing the backend version.
+ <synopsis>
+ int PQseverVersion(const PGconn *conn);
+ </synopsis>
+ Applications may use this to determine which version of the database they are
+ connecting to. The number is formed by converting the major, minor, and revision
+ numbers into two digit numbers and appending them together. For example, version
+ 7.4.2 will be returned as 70402, and version 8.1 will be returned as 80100
+ (leading zeroes are not shown).
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><function>PQerrorMessage</function><indexterm><primary>PQerrorMessage</></></term>
<listitem>
Index: src/interfaces/libpq/blibpqdll.def
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/blibpqdll.def,v
retrieving revision 1.9
diff -c -r1.9 blibpqdll.def
*** src/interfaces/libpq/blibpqdll.def 13 Aug 2003 16:29:03 -0000 1.9
--- src/interfaces/libpq/blibpqdll.def 10 Aug 2004 15:49:00 -0000
***************
*** 113,118 ****
--- 113,120 ----
_PQfformat @ 109
_PQexecPrepared @ 110
_PQsendQueryPrepared @ 111
+ _PQdsplen @ 112
+ _PQseverVersion @ 113
; Aliases for MS compatible names
PQconnectdb = _PQconnectdb
***************
*** 226,228 ****
--- 228,232 ----
PQfformat = _PQfformat
PQexecPrepared = _PQexecPrepared
PQsendQueryPrepared = _PQsendQueryPrepared
+ PQdsplen = _PQdsplen
+ PQserverVersion = _PQserverVersion
Index: src/interfaces/libpq/fe-connect.c
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/fe-connect.c,v
retrieving revision 1.278
diff -c -r1.278 fe-connect.c
*** src/interfaces/libpq/fe-connect.c 12 Jul 2004 14:23:28 -0000 1.278
--- src/interfaces/libpq/fe-connect.c 10 Aug 2004 15:49:00 -0000
***************
*** 2872,2877 ****
--- 2872,2887 ----
return PG_PROTOCOL_MAJOR(conn->pversion);
}
+ int
+ PQserverVersion(const PGconn *conn)
+ {
+ if (!conn)
+ return 0;
+ if (conn->status == CONNECTION_BAD)
+ return 0;
+ return conn->sversion;
+ }
+
char *
PQerrorMessage(const PGconn *conn)
{
Index: src/interfaces/libpq/libpq-fe.h
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/libpq-fe.h,v
retrieving revision 1.104
diff -c -r1.104 libpq-fe.h
*** src/interfaces/libpq/libpq-fe.h 24 Mar 2004 03:44:59 -0000 1.104
--- src/interfaces/libpq/libpq-fe.h 10 Aug 2004 15:49:00 -0000
***************
*** 248,253 ****
--- 248,254 ----
extern const char *PQparameterStatus(const PGconn *conn,
const char *paramName);
extern int PQprotocolVersion(const PGconn *conn);
+ extern int PQserverVersion(const PGconn *conn);
extern char *PQerrorMessage(const PGconn *conn);
extern int PQsocket(const PGconn *conn);
extern int PQbackendPID(const PGconn *conn);
Index: src/interfaces/libpq/libpqddll.def
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/libpqddll.def,v
retrieving revision 1.1
diff -c -r1.1 libpqddll.def
*** src/interfaces/libpq/libpqddll.def 9 Mar 2004 04:53:37 -0000 1.1
--- src/interfaces/libpq/libpqddll.def 10 Aug 2004 15:49:00 -0000
***************
*** 113,115 ****
--- 113,117 ----
PQfformat @ 109
PQexecPrepared @ 110
PQsendQueryPrepared @ 111
+ PQdsplen @ 112
+ PQserverVersion @ 113
Index: src/interfaces/libpq/libpqdll.def
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/libpqdll.def,v
retrieving revision 1.25
diff -c -r1.25 libpqdll.def
*** src/interfaces/libpq/libpqdll.def 5 Apr 2004 03:16:21 -0000 1.25
--- src/interfaces/libpq/libpqdll.def 10 Aug 2004 15:49:00 -0000
***************
*** 114,116 ****
--- 114,117 ----
PQexecPrepared @ 110
PQsendQueryPrepared @ 111
PQdsplen @ 112
+ PQserverVersion @ 113
s/sever/server/
"Greg Sabino Mullane" <greg@turnstep.com> writes:
> [ PQserverVersion ]
Applied (with the spelling correction).
regards, tom lane
Is this for 8.0 or 8.1?
---------------------------------------------------------------------------
Greg Sabino Mullane wrote:
>
> Index: doc/src/sgml/libpq.sgml
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/doc/src/sgml/libpq.sgml,v
> retrieving revision 1.157
> diff -c -r1.157 libpq.sgml
> *** doc/src/sgml/libpq.sgml 8 Jun 2004 13:49:22 -0000 1.157
> --- doc/src/sgml/libpq.sgml 10 Aug 2004 15:48:59 -0000
> ***************
> *** 894,899 ****
> --- 894,916 ----
> </listitem>
> </varlistentry>
>
> + <varlistentry>
> + <term><function>PQserverVersion</function><indexterm><primary>PQserverVersion</></></term>
> + <listitem>
> + <para>
> + Returns an integer representing the backend version.
> + <synopsis>
> + int PQseverVersion(const PGconn *conn);
> + </synopsis>
> + Applications may use this to determine which version of the database they are
> + connecting to. The number is formed by converting the major, minor, and revision
> + numbers into two digit numbers and appending them together. For example, version
> + 7.4.2 will be returned as 70402, and version 8.1 will be returned as 80100
> + (leading zeroes are not shown).
> + </para>
> + </listitem>
> + </varlistentry>
> +
> <varlistentry>
> <term><function>PQerrorMessage</function><indexterm><primary>PQerrorMessage</></></term>
> <listitem>
> Index: src/interfaces/libpq/blibpqdll.def
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/blibpqdll.def,v
> retrieving revision 1.9
> diff -c -r1.9 blibpqdll.def
> *** src/interfaces/libpq/blibpqdll.def 13 Aug 2003 16:29:03 -0000 1.9
> --- src/interfaces/libpq/blibpqdll.def 10 Aug 2004 15:49:00 -0000
> ***************
> *** 113,118 ****
> --- 113,120 ----
> _PQfformat @ 109
> _PQexecPrepared @ 110
> _PQsendQueryPrepared @ 111
> + _PQdsplen @ 112
> + _PQseverVersion @ 113
>
> ; Aliases for MS compatible names
> PQconnectdb = _PQconnectdb
> ***************
> *** 226,228 ****
> --- 228,232 ----
> PQfformat = _PQfformat
> PQexecPrepared = _PQexecPrepared
> PQsendQueryPrepared = _PQsendQueryPrepared
> + PQdsplen = _PQdsplen
> + PQserverVersion = _PQserverVersion
> Index: src/interfaces/libpq/fe-connect.c
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/fe-connect.c,v
> retrieving revision 1.278
> diff -c -r1.278 fe-connect.c
> *** src/interfaces/libpq/fe-connect.c 12 Jul 2004 14:23:28 -0000 1.278
> --- src/interfaces/libpq/fe-connect.c 10 Aug 2004 15:49:00 -0000
> ***************
> *** 2872,2877 ****
> --- 2872,2887 ----
> return PG_PROTOCOL_MAJOR(conn->pversion);
> }
>
> + int
> + PQserverVersion(const PGconn *conn)
> + {
> + if (!conn)
> + return 0;
> + if (conn->status == CONNECTION_BAD)
> + return 0;
> + return conn->sversion;
> + }
> +
> char *
> PQerrorMessage(const PGconn *conn)
> {
> Index: src/interfaces/libpq/libpq-fe.h
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/libpq-fe.h,v
> retrieving revision 1.104
> diff -c -r1.104 libpq-fe.h
> *** src/interfaces/libpq/libpq-fe.h 24 Mar 2004 03:44:59 -0000 1.104
> --- src/interfaces/libpq/libpq-fe.h 10 Aug 2004 15:49:00 -0000
> ***************
> *** 248,253 ****
> --- 248,254 ----
> extern const char *PQparameterStatus(const PGconn *conn,
> const char *paramName);
> extern int PQprotocolVersion(const PGconn *conn);
> + extern int PQserverVersion(const PGconn *conn);
> extern char *PQerrorMessage(const PGconn *conn);
> extern int PQsocket(const PGconn *conn);
> extern int PQbackendPID(const PGconn *conn);
> Index: src/interfaces/libpq/libpqddll.def
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/libpqddll.def,v
> retrieving revision 1.1
> diff -c -r1.1 libpqddll.def
> *** src/interfaces/libpq/libpqddll.def 9 Mar 2004 04:53:37 -0000 1.1
> --- src/interfaces/libpq/libpqddll.def 10 Aug 2004 15:49:00 -0000
> ***************
> *** 113,115 ****
> --- 113,117 ----
> PQfformat @ 109
> PQexecPrepared @ 110
> PQsendQueryPrepared @ 111
> + PQdsplen @ 112
> + PQserverVersion @ 113
> Index: src/interfaces/libpq/libpqdll.def
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/src/interfaces/libpq/libpqdll.def,v
> retrieving revision 1.25
> diff -c -r1.25 libpqdll.def
> *** src/interfaces/libpq/libpqdll.def 5 Apr 2004 03:16:21 -0000 1.25
> --- src/interfaces/libpq/libpqdll.def 10 Aug 2004 15:49:00 -0000
> ***************
> *** 114,116 ****
> --- 114,117 ----
> PQexecPrepared @ 110
> PQsendQueryPrepared @ 111
> PQdsplen @ 112
> + PQserverVersion @ 113
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Is this for 8.0 or 8.1?
It's already applied.
regards, tom lane