1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-03 20:02:46 +03:00

Fix documentation for libpq's PQfn().

The SGML docs claimed that 1-byte integers could be sent or received with
the "isint" options, but no such behavior has ever been implemented in
pqGetInt() or pqPutInt().  The in-code documentation header for PQfn() was
even less in tune with reality, and the code itself used parameter names
matching neither the SGML docs nor its libpq-fe.h declaration.  Do a bit
of additional wordsmithing on the SGML docs while at it.

Since the business about 1-byte integers is a clear documentation bug,
back-patch to all supported branches.
This commit is contained in:
Tom Lane
2015-03-08 13:35:28 -04:00
parent 90c35a9ed0
commit 1a0bc4c2bf
2 changed files with 25 additions and 20 deletions

View File

@ -2514,20 +2514,18 @@ PQendcopy(PGconn *conn)
* PQfn - Send a function call to the POSTGRES backend.
*
* conn : backend connection
* fnid : function id
* result_buf : pointer to result buffer (&int if integer)
* result_len : length of return value.
* actual_result_len: actual length returned. (differs from result_len
* for varlena structures.)
* result_type : If the result is an integer, this must be 1,
* fnid : OID of function to be called
* result_buf : pointer to result buffer
* result_len : actual length of result is returned here
* result_is_int : If the result is an integer, this must be 1,
* otherwise this should be 0
* args : pointer to an array of function arguments.
* args : pointer to an array of function arguments
* (each has length, if integer, and value/pointer)
* nargs : # of arguments in args array.
*
* RETURNS
* PGresult with status = PGRES_COMMAND_OK if successful.
* *actual_result_len is > 0 if there is a return value, 0 if not.
* *result_len is > 0 if there is a return value, 0 if not.
* PGresult with status = PGRES_FATAL_ERROR if backend returns an error.
* NULL on communications failure. conn->errorMessage will be set.
* ----------------
@ -2537,12 +2535,12 @@ PGresult *
PQfn(PGconn *conn,
int fnid,
int *result_buf,
int *actual_result_len,
int *result_len,
int result_is_int,
const PQArgBlock *args,
int nargs)
{
*actual_result_len = 0;
*result_len = 0;
if (!conn)
return NULL;
@ -2560,12 +2558,12 @@ PQfn(PGconn *conn,
if (PG_PROTOCOL_MAJOR(conn->pversion) >= 3)
return pqFunctionCall3(conn, fnid,
result_buf, actual_result_len,
result_buf, result_len,
result_is_int,
args, nargs);
else
return pqFunctionCall2(conn, fnid,
result_buf, actual_result_len,
result_buf, result_len,
result_is_int,
args, nargs);
}