Thread: BUG #1178: PQexecPrepared - PostgreSQL 7.4.1

BUG #1178: PQexecPrepared - PostgreSQL 7.4.1

From
"PostgreSQL Bugs List"
Date:
The following bug has been logged online:

Bug reference:      1178
Logged by:          Theo Kramer

Email address:      theo@flame.co.za

PostgreSQL version: 7.4

Operating system:   Redhat Linux 9

Description:        PQexecPrepared - PostgreSQL 7.4.1

Details:

I am having a problem with PQexecPrepared() as follows (derived from
testlibpq3.c)

PQexec(conn,
   "PREPARE S0000123_000 (text) AS SELECT * from test1 WHERE t = $1");

When invoking PQexecPrepared() I get the following message from the backend

ERROR:  prepared statement "S0000123_0000" does not exist

Yet if I use

PQexec(conn, "EXECUTE S0000123_0000 ('ho there')");

instead of PQexecPrepared() then all works perfectly.

Sounds like a bug to me...?

Re: BUG #1178: PQexecPrepared - PostgreSQL 7.4.1

From
Tom Lane
Date:
"PostgreSQL Bugs List" <pgsql-bugs@postgresql.org> writes:
> PQexec(conn,
>    "PREPARE S0000123_000 (text) AS SELECT * from test1 WHERE t = $1");
> When invoking PQexecPrepared() I get the following message from the backend
> ERROR:  prepared statement "S0000123_0000" does not exist

Case sensitivity.  PQexecPrepared takes its name argument literally,
but anything inside a SQL command will get downcased unless quoted.
So you actually prepared "s0000123_000".

            regards, tom lane

Re: BUG #1178: PQexecPrepared - PostgreSQL 7.4.1

From
Theo Kramer
Date:
On Tue, 2004-06-22 at 19:23, Tom Lane wrote:
> "PostgreSQL Bugs List" <pgsql-bugs@postgresql.org> writes:
> > PQexec(conn,
> >    "PREPARE S0000123_000 (text) AS SELECT * from test1 WHERE t = $1");
> > When invoking PQexecPrepared() I get the following message from the backend
> > ERROR:  prepared statement "S0000123_0000" does not exist
>
> Case sensitivity.  PQexecPrepared takes its name argument literally,
> but anything inside a SQL command will get downcased unless quoted.
> So you actually prepared "s0000123_000".
>

Many thanks - perhaps a gotcha in the documentation for PQexecPrepared()
would useful...

Regards
Theo