On Wed, Nov 23, 2022 at 11:47 AM Tom Lane <t...@sss.pgh.pa.us> wrote:

> Bruce Momjian <br...@momjian.us> writes:
> > Does this come up enough to document it?  I assume the error message the
> > user receives is clear.
>
> Looks like you get
>
>     if (nParams < 0 || nParams > PQ_QUERY_PARAM_MAX_LIMIT)
>     {
>         libpq_append_conn_error(conn, "number of parameters must be
> between 0 and %d",
>                            PQ_QUERY_PARAM_MAX_LIMIT);
>         return 0;
>     }
>
> which seems clear enough.
>
> I think the concern here is that somebody who's not aware that a limit
> exists might write an application that thinks it can send lots of
> parameters, and then have it fall over in production.  Now, I've got
> doubts that an entry in the limits.sgml table will do much to prevent
> that scenario.  But perhaps offering the advice to use an array parameter
> will be worthwhile even after-the-fact.
>

It comes up enough in places I troll that having a link to drop into a
reply would be nice.
I do believe that people who want to use a large parameter list likely have
that question in the back of their mind, and looking at a page called
"System Limits" is at least plausibly something they would do.  Since they
are really caring about parse-bind-execute, and they aren't likely to dig
into libpq, this seems like the best spot (as opposed to, say PREPARE)

David J.

Reply via email to