On Thursday, April 23, 2020, Adrian Klaver <adrian.kla...@aklaver.com>
wrote:

> On 4/23/20 7:33 AM, Scott Ribe wrote:
>
>> In libpq, PQexecParams has nParams as type int. So on any reasonable
>> platform, that's at least 4 bytes. My question then is: when I see
>> documented limits of 65535 params in various drivers and libraries, that is
>> NOT a restriction of libpq nor of the protocol, but rather an arbitrary
>> limit of the driver/library, correct?
>>
>
> No.
>
> From:
>
> src/interfaces/libpq/fe-exec.c
>
> if (nParams < 0 || nParams > 65535)
>         {
>                 printfPQExpBuffer(&conn->errorMessage,
>                                                   libpq_gettext("number of
> parameters must be between 0 and 65535\n"));
>                 return 0;
>         }
>

Or, from the specification for the Bind Message in the documentation:

https://www.postgresql.org/docs/12/protocol-message-formats.html

 Int16

The number of parameter values that follow

David J.

Reply via email to