Thread: Positional parameters and question mark notation

Positional parameters and question mark notation

From
Andreas Lubensky
Date:
Hi,

Is there any way to make PostgreSQL support the question mark (?)
notation instead of the dollar sign ($1, $2...) for prepared statements?
Most databases use the question mark notation and we have a set of
simple queries that are supposed to be portable across different
database systems. So far we use PostgreSQL via ODBC, but now we want to
switch to a native libpq implementation.

--
with best regards,

Andreas Lubensky



Re: Positional parameters and question mark notation

From
Dmitriy Igrishin
Date:
Hey Andreas,


2014/1/20 Andreas Lubensky <lubensky@cognitec.com>
Hi,

Is there any way to make PostgreSQL support the question mark (?)
notation instead of the dollar sign ($1, $2...) for prepared statements?
Most databases use the question mark notation and we have a set of
simple queries that are supposed to be portable across different
database systems. So far we use PostgreSQL via ODBC, but now we want to
switch to a native libpq implementation.
I believe that C-function for replacing '?' with '$n' can easily implemented
in the application code. Or you may want to look at libpqtypes:
Or (if you are C++) you may want to look at SOCI:

--
// Dmitriy.

Re: Positional parameters and question mark notation

From
Andreas Lubensky
Date:
Hi Dmitriy,

I considered just doing a string replacement, however this might be
potentially dangerous because in theory a query might contain a question
mark as part of a string or similar. Although I'm certain it would work
for us at the moment, it looks like a problem waiting to happen. Doing a
proper replacement (as ODBC probably does) most likely requires a full
blown SQL parser...

On Mon, 2014-01-20 at 14:08 +0400, Dmitriy Igrishin wrote:
> Hey Andreas,
>
>
> 2014/1/20 Andreas Lubensky <lubensky@cognitec.com>
>         Hi,
>
>         Is there any way to make PostgreSQL support the question mark
>         (?)
>         notation instead of the dollar sign ($1, $2...) for prepared
>         statements?
>         Most databases use the question mark notation and we have a
>         set of
>         simple queries that are supposed to be portable across
>         different
>         database systems. So far we use PostgreSQL via ODBC, but now
>         we want to
>         switch to a native libpq implementation.
> I believe that C-function for replacing '?' with '$n' can easily
> implemented
> in the application code. Or you may want to look at libpqtypes:
> http://libpqtypes.esilo.com/
>
> Or (if you are C++) you may want to look at SOCI:
> http://soci.sourceforge.net/
>
>
> --
> // Dmitriy.
>
>

--
with best regards,

Andreas Lubensky