Positional parameters and question mark notation

Started by Andreas Lubenskyabout 12 years ago3 messagesgeneral
Jump to latest
#1Andreas 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.

--
with best regards,

Andreas Lubensky

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#2Dmitriy Igrishin
dmitigr@gmail.com
In reply to: Andreas Lubensky (#1)
Re: Positional parameters and question mark notation

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.

#3Andreas Lubensky
lubensky@cognitec.com
In reply to: Dmitriy Igrishin (#2)
Re: Positional parameters and question mark notation

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

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general