Re: Parameter placeholders, $n vs ? - Mailing list pgsql-general

From Tom Lane
Subject Re: Parameter placeholders, $n vs ?
Date
Msg-id 24317.1527170577@sss.pgh.pa.us
Whole thread Raw
In response to Re: Parameter placeholders, $n vs ?  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-general
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Thursday, May 24, 2018, Lele Gaifax <lele@metapensiero.it> wrote:
>> So the questions: is the '?' style placeholder a supported variant? and
>> if so, should the ParamRef doc tell something about that?

> PostgreSQL's Prepare statement doesn't accept question mark as a parameter
> symbol, and cannot ever because it is already a valid operator symbol.

To enlarge on that a bit:

* PG's core parser certainly does not accept ? as a parameter symbol.
I speculate that you fed the input through some frontend that converts
? to $n (JDBC, perhaps)?

* The only thing in the core code that would print a ParamRef in any
sort of symbolic form is _outParamRef, and it's easily seen by inspection
to be incapable of omitting the "number" field ... not to mention that
it doesn't emit the JSON-esque representation you're showing us.  So
that behavior must also be due to some non-core pretty-printing code you
haven't identified to us.  No idea what rules that might have for deciding
to omit "number".

            regards, tom lane


pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Extension/Language of plPerl in PostgreSQL
Next
From: Adrian Klaver
Date:
Subject: Re: Extension/Language of plPerl in PostgreSQL