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.