Re: parameter limit - Mailing list pgsql-general

From David G. Johnston
Subject Re: parameter limit
Date
Msg-id CAKFQuwbGy6X4r5n8Ryyd=avFLX2a_L_RU=NnRCFtrQYMOrx1Lg@mail.gmail.com
Whole thread Raw
In response to Re: parameter limit  (Adrian Klaver <adrian.klaver@aklaver.com>)
List pgsql-general
On Thursday, April 23, 2020, Adrian Klaver <adrian.klaver@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:


 Int16

The number of parameter values that follow

David J.

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: parameter limit
Next
From: Scott Ribe
Date:
Subject: Re: parameter limit