PQserverVersion

Started by Greg Sabino Mullanealmost 22 years ago5 messagespatches
Jump to latest
#1Greg Sabino Mullane
greg@turnstep.com
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
#2Greg Sabino Mullane
greg@turnstep.com
In reply to: Greg Sabino Mullane (#1)
Re: PQserverVersion

s/sever/server/

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Greg Sabino Mullane (#1)
Re: PQserverVersion

"Greg Sabino Mullane" <greg@turnstep.com> writes:

[ PQserverVersion ]

Applied (with the spelling correction).

regards, tom lane

#4Bruce Momjian
bruce@momjian.us
In reply to: Greg Sabino Mullane (#1)
Re: PQserverVersion

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
#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#4)
Re: PQserverVersion

Bruce Momjian <pgman@candle.pha.pa.us> writes:

Is this for 8.0 or 8.1?

It's already applied.

regards, tom lane