From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | Lele Gaifax <lele(at)metapensiero(dot)it>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Parameter placeholders, $n vs ? |
Date: | 2018-05-24 14:02:57 |
Message-ID: | 24317.1527170577@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
"David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> On Thursday, May 24, 2018, Lele Gaifax <lele(at)metapensiero(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2018-05-24 14:19:32 | Re: Extension/Language of plPerl in PostgreSQL |
Previous Message | Adrian Klaver | 2018-05-24 14:01:19 | Re: Extension/Language of plPerl in PostgreSQL |