diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml index 83f396a..e88563e 100644 *** /tmp/pgdiff.11464/q7vhEb_ecpg.sgml Wed Jan 12 10:29:38 2011 --- doc/src/sgml/ecpg.sgml Wed Jan 12 10:20:49 2011 *************** EXEC SQL CLOSE DATABASE; *** 7934,7940 **** Informix-compatible SQLDA descriptor areas Informix-compatible mode supports a different structure than the one described in ! . See below: struct sqlvar_compat { --- 7934,7940 ---- Informix-compatible SQLDA descriptor areas Informix-compatible mode supports a different structure than the one described in ! . Refer below: struct sqlvar_compat { *************** risnull(CINTTYPE, (char *) &i); *** 9499,9505 **** Input variables ! Every input variable causes ten arguments to be created. (See below.) --- 9499,9505 ---- Input variables ! Every input variable causes ten arguments to be created (refer below). *************** risnull(CINTTYPE, (char *) &i); *** 9518,9525 **** Output variables ! Every output variable causes ten arguments to be created. ! (See below.) These variables are filled by the function. --- 9518,9525 ---- Output variables ! Every output variable causes ten arguments to be created (refer ! below). These variables are filled by the function. diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index da7b820..624ef8e 100644 *** /tmp/pgdiff.11464/WXORge_libpq.sgml Wed Jan 12 10:29:38 2011 --- doc/src/sgml/libpq.sgml Wed Jan 12 10:25:30 2011 *************** PGconn *PQconnectdbParams(const char **k *** 105,112 **** This function opens a new database connection using the parameters taken from two NULL-terminated arrays. The first, ! keywords, is defined as an array of strings, each one ! being a key word. The second, values, gives the value for each key word. Unlike PQsetdbLogin below, the parameter set can be extended without changing the function signature, so use of this function (or its nonblocking analogs PQconnectStartParams --- 105,112 ---- This function opens a new database connection using the parameters taken from two NULL-terminated arrays. The first, ! keywords, is defined as an array of strings, each entry ! being a key word. The second, values, contains the value for each key word. Unlike PQsetdbLogin below, the parameter set can be extended without changing the function signature, so use of this function (or its nonblocking analogs PQconnectStartParams *************** PGconn *PQconnectdbParams(const char **k *** 117,123 **** When expand_dbname is non-zero, the dbname key word value is allowed to be recognized ! as a conninfo string. See below for details. --- 117,123 ---- When expand_dbname is non-zero, the dbname key word value is allowed to be recognized ! as a conninfo string. Refer below for details. *************** PGconn *PQconnectdbParams(const char **k *** 135,142 **** host ! Name of host to connect to.host name ! If this begins with a slash, it specifies Unix-domain communication rather than TCP/IP communication; the value is the name of the directory in which the socket file is stored. The default behavior when host is not specified --- 135,142 ---- host ! Name of host to connect to. host name ! If the string begins with a slash, it specifies Unix-domain communication rather than TCP/IP communication; the value is the name of the directory in which the socket file is stored. The default behavior when host is not specified *************** PGconn *PQconnectdbParams(const char **k *** 344,350 **** tty ! Ignored (formerly, this specified where to send server debug output). --- 344,351 ---- tty ! Ignored (formerly, the parameter specified where to send server ! debug output). *************** PGconn *PQconnectdbParams(const char **k *** 397,404 **** verify-ca only try an SSL connection, and verify that ! the server certificate is issued by a trusted CA ! --- 398,405 ---- verify-ca only try an SSL connection, and verify that ! the server certificate is issued by a trusted certificate ! authority (CA) *************** PostgresPollingStatusType PQconnectPoll( *** 759,768 **** To begin a nonblocking connection request, call conn = PQconnectStart("connection_info_string"). ! If conn is null, then libpq has been unable to allocate a new PGconn structure. Otherwise, a valid PGconn pointer is returned (though not yet representing a valid connection to the database). On return from ! PQconnectStart, call status = PQstatus(conn). If status equals CONNECTION_BAD, PQconnectStart has failed. --- 760,769 ---- To begin a nonblocking connection request, call conn = PQconnectStart("connection_info_string"). ! If the returned value of conn is null, then libpq has been unable to allocate a new PGconn structure. Otherwise, a valid PGconn pointer is returned (though not yet representing a valid connection to the database). On return from ! PQconnectStart, execute status = PQstatus(conn). If status equals CONNECTION_BAD, PQconnectStart has failed. *************** PostgresPollingStatusType PQconnectPoll( *** 771,784 **** libpq so that it can proceed with the connection sequence. Use PQsocket(conn) to obtain the descriptor of the socket underlying the database connection. ! Loop thus: If PQconnectPoll(conn) last returned PGRES_POLLING_READING, wait until the socket is ready to read (as indicated by select(), poll(), or similar system function). ! Then call PQconnectPoll(conn) again. ! Conversely, if PQconnectPoll(conn) last returned PGRES_POLLING_WRITING, wait until the socket is ready ! to write, then call PQconnectPoll(conn) again. If you have yet to call PQconnectPoll, i.e., just after the call to PQconnectStart, behave as if it last returned --- 772,785 ---- libpq so that it can proceed with the connection sequence. Use PQsocket(conn) to obtain the descriptor of the socket underlying the database connection. ! Loop thus: If PQconnectPoll(conn) returned PGRES_POLLING_READING, wait until the socket is ready to read (as indicated by select(), poll(), or similar system function). ! Then execute PQconnectPoll(conn) again. ! Conversely, if PQconnectPoll(conn) returned PGRES_POLLING_WRITING, wait until the socket is ready ! to write, then execute PQconnectPoll(conn) again. If you have yet to call PQconnectPoll, i.e., just after the call to PQconnectStart, behave as if it last returned *************** PostgresPollingStatusType PQconnectPoll( *** 791,798 **** At any time during connection, the status of the connection can be ! checked by calling PQstatus. If this gives CONNECTION_BAD, then the ! connection procedure has failed; if it gives CONNECTION_OK, then the connection is ready. Both of these states are equally detectable from the return value of PQconnectPoll, described above. Other states might also occur during (and only during) an asynchronous connection procedure. These --- 792,799 ---- At any time during connection, the status of the connection can be ! checked by calling PQstatus. If this call returns CONNECTION_BAD, then the ! connection procedure has failed; if the call returns CONNECTION_OK, then the connection is ready. Both of these states are equally detectable from the return value of PQconnectPoll, described above. Other states might also occur during (and only during) an asynchronous connection procedure. These *************** typedef struct *** 922,928 **** ! Returns a connection options array. This can be used to determine all possible PQconnectdb options and their current default values. The return value points to an array of PQconninfoOption structures, which ends --- 923,929 ---- ! Returns a connection options array. This array can be used to determine all possible PQconnectdb options and their current default values. The return value points to an array of PQconninfoOption structures, which ends *************** PQconninfoOption *PQconninfoParse(const *** 954,962 **** ! Parses a connection string and returns the resulting options as an array; or returns NULL if there is a problem with the connection ! string. This can be used to determine the PQconnectdb options in the provided connection string. The return value points to an array of PQconninfoOption structures, which ends --- 955,963 ---- ! PQconninfoParse parses a connection string and returns the resulting options as an array; or returns NULL if there is a problem with the connection ! string. This function can be used to validate and convert the PQconnectdb options in the provided connection string. The return value points to an array of PQconninfoOption structures, which ends *************** PQconninfoOption *PQconninfoParse(const *** 972,979 **** If errmsg is not NULL, then *errmsg is set to NULL on success, else to a malloc'd error string explaining the problem. (It is also possible for *errmsg to be ! set to NULL even when NULL is returned; this indicates an out-of-memory ! situation.) --- 973,980 ---- If errmsg is not NULL, then *errmsg is set to NULL on success, else to a malloc'd error string explaining the problem. (It is also possible for *errmsg to be ! set to NULL even when NULL is returned by ! the function; this indicates an out-of-memory situation.) *************** ConnStatusType PQstatus(const PGconn *co *** 1350,1358 **** ! See the entry for PQconnectStartParams, PQconnectStart and PQconnectPoll with regards to other status codes that ! might be seen. --- 1351,1359 ---- ! Refer to the entry for PQconnectStartParams, PQconnectStart and PQconnectPoll with regards to other status codes that ! might be returned. *************** const char *PQparameterStatus(const PGco *** 1486,1494 **** int PQprotocolVersion(const PGconn *conn); ! Applications might wish to use this to determine whether certain features are supported. Currently, the possible values are 2 (2.0 ! protocol), 3 (3.0 protocol), or zero (connection bad). This will not change after connection startup is complete, but it could theoretically change during a connection reset. The 3.0 protocol will normally be used when communicating with --- 1487,1496 ---- int PQprotocolVersion(const PGconn *conn); ! Applications might wish to use this function to determine whether certain features are supported. Currently, the possible values are 2 (2.0 ! protocol), 3 (3.0 protocol), or zero (connection bad). The ! protocol version will not change after connection startup is complete, but it could theoretically change during a connection reset. The 3.0 protocol will normally be used when communicating with *************** int PQprotocolVersion(const PGconn *conn *** 1513,1519 **** int PQserverVersion(const PGconn *conn); ! Applications might 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-decimal-digit numbers and appending them together. For example, version 8.1.5 --- 1515,1521 ---- int PQserverVersion(const PGconn *conn); ! Applications might use this function 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-decimal-digit numbers and appending them together. For example, version 8.1.5 *************** char *PQerrorMessage(const PGconn *conn) *** 1544,1553 **** ! Nearly all libpq functions will set a message for ! PQerrorMessage if they fail. Note that by libpq convention, a nonempty ! PQerrorMessage result can be multiple lines, and will include a trailing newline. The caller should not free the result directly. It will be freed when the associated PGconn handle is passed to --- 1546,1555 ---- ! On a failure, nearly all libpq functions will set ! a message for PQerrorMessage. Note that by libpq convention, a nonempty ! PQerrorMessage result can consist of multiple lines, and will include a trailing newline. The caller should not free the result directly. It will be freed when the associated PGconn handle is passed to *************** char *PQerrorMessage(const PGconn *conn) *** 1565,1571 **** Obtains the file descriptor number of the connection socket to the server. A valid descriptor will be greater than or equal to 0; a result of -1 indicates that no server connection is ! currently open. (This will not change during normal operation, but could change during connection setup or reset.) --- 1567,1573 ---- Obtains the file descriptor number of the connection socket to the server. A valid descriptor will be greater than or equal to 0; a result of -1 indicates that no server connection is ! currently open. (This number will not change during normal operation, but could change during connection setup or reset.) *************** int PQconnectionNeedsPassword(const PGco *** 1616,1622 **** This function can be applied after a failed connection attempt ! to decide whether to prompt the user for a password. --- 1618,1624 ---- This function can be applied after a failed connection attempt ! to determine whether to prompt the user for a password. *************** PGresult *PQexec(PGconn *conn, const cha *** 1710,1724 **** out-of-memory conditions or serious errors such as inability to send the command to the server. If a null pointer is returned, it should be treated like a PGRES_FATAL_ERROR result. Use ! PQerrorMessage to get more information about such errors. ! It is allowed to include multiple SQL commands (separated by semicolons) ! in the command string. Multiple queries sent in a single PQexec call are processed in a single transaction, unless there are explicit BEGIN/COMMIT commands included in the query string to divide it into multiple --- 1712,1726 ---- out-of-memory conditions or serious errors such as inability to send the command to the server. If a null pointer is returned, it should be treated like a PGRES_FATAL_ERROR result. Use ! PQerrorMessage to obtain more information about such errors. ! The command string can include multiple SQL commands ! (separated by semicolons). Multiple queries sent in a single PQexec call are processed in a single transaction, unless there are explicit BEGIN/COMMIT commands included in the query string to divide it into multiple *************** PGresult *PQexecParams(PGconn *conn, *** 1762,1768 **** functionality: parameter values can be specified separately from the command string proper, and query results can be requested in either text or binary format. PQexecParams is supported only in protocol 3.0 and later ! connections; it will fail when using protocol 2.0. --- 1764,1770 ---- functionality: parameter values can be specified separately from the command string proper, and query results can be requested in either text or binary format. PQexecParams is supported only in protocol 3.0 and later ! connections. *************** PGresult *PQexecParams(PGconn *conn, *** 1812,1817 **** --- 1814,1821 ---- NULL, or any particular element in the array is zero, the server infers a data type for the parameter symbol in the same way it would do for an untyped literal string. + For information about OIDs, refer to . *************** PGresult *PQprepare(PGconn *conn, *** 1944,1950 **** commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. PQprepare is supported only in protocol 3.0 and later ! connections; it will fail when using protocol 2.0. --- 1948,1954 ---- commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. PQprepare is supported only in protocol 3.0 and later ! connections. *************** PGresult *PQexecPrepared(PGconn *conn, *** 2024,2031 **** parsed and planned just once, rather than each time they are executed. The statement must have been prepared previously in the current session. PQexecPrepared is supported ! only in protocol 3.0 and later connections; it will fail when ! using protocol 2.0. --- 2028,2034 ---- parsed and planned just once, rather than each time they are executed. The statement must have been prepared previously in the current session. PQexecPrepared is supported ! only in protocol 3.0 and later connections. *************** PGresult *PQdescribePrepared(PGconn *con *** 2058,2068 **** PQdescribePrepared allows an application to obtain information about a previously prepared statement. PQdescribePrepared is supported only in protocol 3.0 ! and later connections; it will fail when using protocol 2.0. ! stmtName can be "" or NULL to reference the unnamed statement, otherwise it must be the name of an existing prepared statement. On success, a PGresult with status PGRES_COMMAND_OK is returned. The --- 2061,2071 ---- PQdescribePrepared allows an application to obtain information about a previously prepared statement. PQdescribePrepared is supported only in protocol 3.0 ! and later connections. ! Set stmtName to "" or NULL to reference the unnamed statement, otherwise it must be the name of an existing prepared statement. On success, a PGresult with status PGRES_COMMAND_OK is returned. The *************** PGresult *PQdescribePortal(PGconn *conn, *** 2101,2107 **** portals, but you can use this function to inspect the properties of a cursor created with a DECLARE CURSOR SQL command.) PQdescribePortal is supported only in protocol 3.0 ! and later connections; it will fail when using protocol 2.0. --- 2104,2110 ---- portals, but you can use this function to inspect the properties of a cursor created with a DECLARE CURSOR SQL command.) PQdescribePortal is supported only in protocol 3.0 ! and later connections. *************** Oid PQoidValue(const PGresult *res); *** 3162,3167 **** --- 3165,3175 ---- + This function is deprecated in favor of + PQoidValue. It is not thread-safe. + + + Returns a string with the OID of the inserted row, if the SQL command was an INSERT that inserted exactly one row, or a EXECUTE of *************** char *PQoidStatus(const PGresult *res); *** 3175,3184 **** - - This function is deprecated in favor of - PQoidValue. It is not thread-safe. - --- 3183,3188 ---- *************** int PQcancel(PGcancel *cancel, char *err *** 4142,4148 **** The return value is 1 if the cancel request was successfully dispatched and 0 if not. If not, errbuf is filled ! with an error message explaining why not. errbuf must be a char array of size errbufsize (the recommended size is 256 bytes). --- 4146,4152 ---- The return value is 1 if the cancel request was successfully dispatched and 0 if not. If not, errbuf is filled ! with an explanatory error message. errbuf must be a char array of size errbufsize (the recommended size is 256 bytes). *************** int PQputCopyData(PGconn *conn, *** 4536,4549 **** ! Transmits the COPY data in the specified ! buffer, of length nbytes, to the server. ! The result is 1 if the data was sent, zero if it was not sent because the attempt would block (this case is only possible if the connection is in nonblocking mode), or -1 if an error occurred. (Use PQerrorMessage to retrieve details if the return value is -1. If the value is zero, wait for write-ready ! and try again.) --- 4540,4553 ---- ! Transmits nbytes of COPY data ! from the specified buffer to the server. The ! result is 1 if the data was sent, zero if it was not sent because the attempt would block (this case is only possible if the connection is in nonblocking mode), or -1 if an error occurred. (Use PQerrorMessage to retrieve details if the return value is -1. If the value is zero, wait for write-ready ! and try again; see .) *************** ldap://ldap.acme.com/cn=dbserver,cn=host *** 6726,6732 **** In some cases, the client certificate might be signed by an ! intermediate certificate authority, rather than one that is directly trusted by the server. To use such a certificate, append the certificate of the signing authority to the postgresql.crt file, then its parent authority's certificate, and so on up to a --- 6730,6736 ---- In some cases, the client certificate might be signed by an ! intermediate certificate authority rather than one that is directly trusted by the server. To use such a certificate, append the certificate of the signing authority to the postgresql.crt file, then its parent authority's certificate, and so on up to a diff --git a/doc/src/sgml/pgbench.sgml b/doc/src/sgml/pgbench.sgml index a33ac17..a1eb2e9 100644 *** /tmp/pgdiff.11464/aJpgla_pgbench.sgml Wed Jan 12 10:29:38 2011 --- doc/src/sgml/pgbench.sgml Wed Jan 12 10:20:49 2011 *************** pgbench options< *** 104,110 **** The most important options are -c (number of clients), -t (number of transactions), -T (time limit), and -f (specify a custom script file). ! See below for a full list. --- 104,110 ---- The most important options are -c (number of clients), -t (number of transactions), -T (time limit), and -f (specify a custom script file). ! Refer below for a full list. *************** pgbench options< *** 207,213 **** varname=value ! Define a variable for use by a custom script (see below). Multiple -D options are allowed. --- 207,213 ---- varname=value ! Define a variable for use by a custom script (refer below). Multiple -D options are allowed. *************** pgbench options< *** 218,224 **** Read transaction script from filename. ! See below for details. -N, -S, and -f are mutually exclusive. --- 218,224 ---- Read transaction script from filename. ! Refer below for details. -N, -S, and -f are mutually exclusive. *************** pgbench options< *** 243,249 **** Write the time taken by each transaction to a log file. ! See below for details. --- 243,249 ---- Write the time taken by each transaction to a log file. ! Refer below for details. *************** pgbench options< *** 302,308 **** Report the average per-statement latency (execution time from the perspective of the client) of each command after the benchmark ! finishes. See below for details. --- 302,308 ---- Report the average per-statement latency (execution time from the perspective of the client) of each command after the benchmark ! finishes. Refer below for details.