diff options
-rw-r--r-- | doc/src/sgml/libpq.sgml | 20 | ||||
-rw-r--r-- | src/interfaces/libpq/blibpqdll.def | 4 | ||||
-rw-r--r-- | src/interfaces/libpq/fe-connect.c | 12 | ||||
-rw-r--r-- | src/interfaces/libpq/libpq-fe.h | 3 | ||||
-rw-r--r-- | src/interfaces/libpq/libpqddll.def | 232 | ||||
-rw-r--r-- | src/interfaces/libpq/libpqdll.def | 1 |
6 files changed, 154 insertions, 118 deletions
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 5b94442238a..402f77bd7d4 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.157 2004/06/08 13:49:22 momjian Exp $ +$PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.158 2004/08/11 18:06:00 tgl Exp $ --> <chapter id="libpq"> @@ -894,6 +894,24 @@ only protocol 2.0. (Protocol 1.0 is obsolete and not supported by <application> </listitem> </varlistentry> +<varlistentry> +<term><function>PQserverVersion</function><indexterm><primary>PQserverVersion</></></term> +<listitem> +<para> + Returns an integer representing the backend version. +<synopsis> +int PQserverVersion(const PGconn *conn); +</synopsis> +Applications may use this to determine the version of the database server they +are connected 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). Zero is returned if the +connection is bad. +</para> +</listitem> +</varlistentry> + <varlistentry> <term><function>PQerrorMessage</function><indexterm><primary>PQerrorMessage</></></term> <listitem> diff --git a/src/interfaces/libpq/blibpqdll.def b/src/interfaces/libpq/blibpqdll.def index eb78e770f8a..279d9586756 100644 --- a/src/interfaces/libpq/blibpqdll.def +++ b/src/interfaces/libpq/blibpqdll.def @@ -113,6 +113,8 @@ EXPORTS _PQfformat @ 109 _PQexecPrepared @ 110 _PQsendQueryPrepared @ 111 + _PQdsplen @ 112 + _PQserverVersion @ 113 ; Aliases for MS compatible names PQconnectdb = _PQconnectdb @@ -226,3 +228,5 @@ EXPORTS PQfformat = _PQfformat PQexecPrepared = _PQexecPrepared PQsendQueryPrepared = _PQsendQueryPrepared + PQdsplen = _PQdsplen + PQserverVersion = _PQserverVersion diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index ef503811228..e4744854c55 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.278 2004/07/12 14:23:28 momjian Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.279 2004/08/11 18:06:01 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -2872,6 +2872,16 @@ PQprotocolVersion(const PGconn *conn) 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) { diff --git a/src/interfaces/libpq/libpq-fe.h b/src/interfaces/libpq/libpq-fe.h index 7a143888bb4..fbd31d01bf2 100644 --- a/src/interfaces/libpq/libpq-fe.h +++ b/src/interfaces/libpq/libpq-fe.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/interfaces/libpq/libpq-fe.h,v 1.104 2004/03/24 03:44:59 momjian Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/libpq-fe.h,v 1.105 2004/08/11 18:06:01 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -248,6 +248,7 @@ extern PGTransactionStatusType PQtransactionStatus(const PGconn *conn); 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); diff --git a/src/interfaces/libpq/libpqddll.def b/src/interfaces/libpq/libpqddll.def index bd2460dffbc..7a05da81171 100644 --- a/src/interfaces/libpq/libpqddll.def +++ b/src/interfaces/libpq/libpqddll.def @@ -1,115 +1,117 @@ -; DEF file for MS VC++
-LIBRARY LIBPQD
-DESCRIPTION "PostgreSQL Client Library"
-EXPORTS
- PQconnectdb @ 1
- PQsetdbLogin @ 2
- PQconndefaults @ 3
- PQfinish @ 4
- PQreset @ 5
- PQrequestCancel @ 6
- PQdb @ 7
- PQuser @ 8
- PQpass @ 9
- PQhost @ 10
- PQport @ 11
- PQtty @ 12
- PQoptions @ 13
- PQstatus @ 14
- PQerrorMessage @ 15
- PQsocket @ 16
- PQbackendPID @ 17
- PQtrace @ 18
- PQuntrace @ 19
- PQsetNoticeProcessor @ 20
- PQexec @ 21
- PQnotifies @ 22
- PQsendQuery @ 23
- PQgetResult @ 24
- PQisBusy @ 25
- PQconsumeInput @ 26
- PQgetline @ 27
- PQputline @ 28
- PQgetlineAsync @ 29
- PQputnbytes @ 30
- PQendcopy @ 31
- PQfn @ 32
- PQresultStatus @ 33
- PQntuples @ 34
- PQnfields @ 35
- PQbinaryTuples @ 36
- PQfname @ 37
- PQfnumber @ 38
- PQftype @ 39
- PQfsize @ 40
- PQfmod @ 41
- PQcmdStatus @ 42
- PQoidStatus @ 43
- PQcmdTuples @ 44
- PQgetvalue @ 45
- PQgetlength @ 46
- PQgetisnull @ 47
- PQclear @ 48
- PQmakeEmptyPGresult @ 49
- PQprint @ 50
- PQdisplayTuples @ 51
- PQprintTuples @ 52
- lo_open @ 53
- lo_close @ 54
- lo_read @ 55
- lo_write @ 56
- lo_lseek @ 57
- lo_creat @ 58
- lo_tell @ 59
- lo_unlink @ 60
- lo_import @ 61
- lo_export @ 62
- pgresStatus @ 63
- PQmblen @ 64
- PQresultErrorMessage @ 65
- PQresStatus @ 66
- termPQExpBuffer @ 67
- appendPQExpBufferChar @ 68
- initPQExpBuffer @ 69
- resetPQExpBuffer @ 70
- PQoidValue @ 71
- PQclientEncoding @ 72
- PQenv2encoding @ 73
- appendBinaryPQExpBuffer @ 74
- appendPQExpBufferStr @ 75
- destroyPQExpBuffer @ 76
- createPQExpBuffer @ 77
- PQconninfoFree @ 78
- PQconnectPoll @ 79
- PQconnectStart @ 80
- PQflush @ 81
- PQisnonblocking @ 82
- PQresetPoll @ 83
- PQresetStart @ 84
- PQsetClientEncoding @ 85
- PQsetnonblocking @ 86
- PQfreeNotify @ 87
- PQescapeString @ 88
- PQescapeBytea @ 89
- printfPQExpBuffer @ 90
- appendPQExpBuffer @ 91
- pg_encoding_to_char @ 92
- pg_utf_mblen @ 93
- PQunescapeBytea @ 94
- PQfreemem @ 95
- PQtransactionStatus @ 96
- PQparameterStatus @ 97
- PQprotocolVersion @ 98
- PQsetErrorVerbosity @ 99
- PQsetNoticeReceiver @ 100
- PQexecParams @ 101
- PQsendQueryParams @ 102
- PQputCopyData @ 103
- PQputCopyEnd @ 104
- PQgetCopyData @ 105
- PQresultErrorField @ 106
- PQftable @ 107
- PQftablecol @ 108
- PQfformat @ 109
- PQexecPrepared @ 110
- PQsendQueryPrepared @ 111
+; DEF file for MS VC++ +LIBRARY LIBPQD +DESCRIPTION "PostgreSQL Client Library" +EXPORTS + PQconnectdb @ 1 + PQsetdbLogin @ 2 + PQconndefaults @ 3 + PQfinish @ 4 + PQreset @ 5 + PQrequestCancel @ 6 + PQdb @ 7 + PQuser @ 8 + PQpass @ 9 + PQhost @ 10 + PQport @ 11 + PQtty @ 12 + PQoptions @ 13 + PQstatus @ 14 + PQerrorMessage @ 15 + PQsocket @ 16 + PQbackendPID @ 17 + PQtrace @ 18 + PQuntrace @ 19 + PQsetNoticeProcessor @ 20 + PQexec @ 21 + PQnotifies @ 22 + PQsendQuery @ 23 + PQgetResult @ 24 + PQisBusy @ 25 + PQconsumeInput @ 26 + PQgetline @ 27 + PQputline @ 28 + PQgetlineAsync @ 29 + PQputnbytes @ 30 + PQendcopy @ 31 + PQfn @ 32 + PQresultStatus @ 33 + PQntuples @ 34 + PQnfields @ 35 + PQbinaryTuples @ 36 + PQfname @ 37 + PQfnumber @ 38 + PQftype @ 39 + PQfsize @ 40 + PQfmod @ 41 + PQcmdStatus @ 42 + PQoidStatus @ 43 + PQcmdTuples @ 44 + PQgetvalue @ 45 + PQgetlength @ 46 + PQgetisnull @ 47 + PQclear @ 48 + PQmakeEmptyPGresult @ 49 + PQprint @ 50 + PQdisplayTuples @ 51 + PQprintTuples @ 52 + lo_open @ 53 + lo_close @ 54 + lo_read @ 55 + lo_write @ 56 + lo_lseek @ 57 + lo_creat @ 58 + lo_tell @ 59 + lo_unlink @ 60 + lo_import @ 61 + lo_export @ 62 + pgresStatus @ 63 + PQmblen @ 64 + PQresultErrorMessage @ 65 + PQresStatus @ 66 + termPQExpBuffer @ 67 + appendPQExpBufferChar @ 68 + initPQExpBuffer @ 69 + resetPQExpBuffer @ 70 + PQoidValue @ 71 + PQclientEncoding @ 72 + PQenv2encoding @ 73 + appendBinaryPQExpBuffer @ 74 + appendPQExpBufferStr @ 75 + destroyPQExpBuffer @ 76 + createPQExpBuffer @ 77 + PQconninfoFree @ 78 + PQconnectPoll @ 79 + PQconnectStart @ 80 + PQflush @ 81 + PQisnonblocking @ 82 + PQresetPoll @ 83 + PQresetStart @ 84 + PQsetClientEncoding @ 85 + PQsetnonblocking @ 86 + PQfreeNotify @ 87 + PQescapeString @ 88 + PQescapeBytea @ 89 + printfPQExpBuffer @ 90 + appendPQExpBuffer @ 91 + pg_encoding_to_char @ 92 + pg_utf_mblen @ 93 + PQunescapeBytea @ 94 + PQfreemem @ 95 + PQtransactionStatus @ 96 + PQparameterStatus @ 97 + PQprotocolVersion @ 98 + PQsetErrorVerbosity @ 99 + PQsetNoticeReceiver @ 100 + PQexecParams @ 101 + PQsendQueryParams @ 102 + PQputCopyData @ 103 + PQputCopyEnd @ 104 + PQgetCopyData @ 105 + PQresultErrorField @ 106 + PQftable @ 107 + PQftablecol @ 108 + PQfformat @ 109 + PQexecPrepared @ 110 + PQsendQueryPrepared @ 111 + PQdsplen @ 112 + PQserverVersion @ 113 diff --git a/src/interfaces/libpq/libpqdll.def b/src/interfaces/libpq/libpqdll.def index 302d2992664..2a667c84492 100644 --- a/src/interfaces/libpq/libpqdll.def +++ b/src/interfaces/libpq/libpqdll.def @@ -114,3 +114,4 @@ EXPORTS PQexecPrepared @ 110 PQsendQueryPrepared @ 111 PQdsplen @ 112 + PQserverVersion @ 113 |