A prepared statement ERROR due to EMPTY_QUERY is defined as a static Instance. - Mailing list pgsql-jdbc

From Naoya Anzai
Subject A prepared statement ERROR due to EMPTY_QUERY is defined as a static Instance.
Date
Msg-id 116262CF971C844FB6E793F8809B51C6B7D6BF@BPXM02GP.gisp.nec.co.jp
Whole thread Raw
Responses Re: A prepared statement ERROR due to EMPTY_QUERY is defined as a static Instance.  (Dave Cramer <pg@fastcrypt.com>)
List pgsql-jdbc
Hi All,

I have found an odd movement when using multiple connections with prepareStatement("").

The following ERROR message appeared.

org.postgresql.util.PSQLException: ERROR: prepared statement "S_1" does not exist

In org/postgresql/core/v3/QueryExecutorImpl.java,
EMPTY_QUERY instance is defined as a static instance.

---
private final static SimpleQuery EMPTY_QUERY = new SimpleQuery(new String[] { "" }, null);
---

For that reason,
After CONNECTION-A has prepared EMPTY_QUERY already,
If CONNECTION-B tries to execute EMPTY_QUERY for the first time,
then CONNECTION-B sends a bind message to PostgreSQL without prepare.

I attached a sample source and a patch.

Please confirm it.

Best Regards,

Naoya

---
Naoya Anzai
Engineering Department
NEC Soft, Ltd.
E-Mail: anzai-naoya@mxu.nes.nec.co.jp
---



Attachment

pgsql-jdbc by date:

Previous
From: Artem Pronchakov
Date:
Subject: Re: insert daterange field value
Next
From: Dave Cramer
Date:
Subject: Re: A prepared statement ERROR due to EMPTY_QUERY is defined as a static Instance.