Re: A prepared statement ERROR due to EMPTY_QUERY is defined as a static Instance.

Поиск
Список
Период
Сортировка
От Dave Cramer
Тема Re: A prepared statement ERROR due to EMPTY_QUERY is defined as a static Instance.
Дата
Msg-id CADK3HH+_x3FArJfZAfzfLyDqkpRXnZKDdcjS0ARgJ9hBdm=cfw@mail.gmail.com
обсуждение исходный текст
Ответ на A prepared statement ERROR due to EMPTY_QUERY is defined as a static Instance.  (Naoya Anzai <anzai-naoya@mxu.nes.nec.co.jp>)
Ответы Re: A prepared statement ERROR due to EMPTY_QUERY is defined as a static Instance.
Список pgsql-jdbc
Naoya,

Thanks for the patch! Curious how would you ever come across this ?

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca


On Thu, Mar 6, 2014 at 11:18 PM, Naoya Anzai <anzai-naoya@mxu.nes.nec.co.jp> wrote:
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
---




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


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Naoya Anzai
Дата:
Сообщение: A prepared statement ERROR due to EMPTY_QUERY is defined as a static Instance.
Следующее
От: Hannes Erven
Дата:
Сообщение: Concurrent use of isValid()