Re: JDBC and the hstore ? operator - no longer working with build1211

Поиск
Список
Период
Сортировка
От Thomas Kellerer
Тема Re: JDBC and the hstore ? operator - no longer working with build1211
Дата
Msg-id o98mjn$dre$1@blaine.gmane.org
обсуждение исходный текст
Ответ на Re: JDBC and the hstore ? operator - no longer working with build 1211  (Vladimir Sitnikov <sitnikov.vladimir@gmail.com>)
Ответы Re: Re: JDBC and the hstore ? operator - no longer workingwith build 1211
Список pgsql-jdbc
Vladimir Sitnikov schrieb am 01.11.2016 um 15:00:
>>This has been "broken" for a while now, you have to use ?? to get it to work.

This still doesn't work completely with a PreparedStatement.

Other hstore operators that start with an ? do not work: ?& and ?|

e.g.:

   connection.prepareStatement("select * from foo where hstore_column ?& array['key']");
   connection.prepareStatement("select * from foo where hstore_column ?| array['key']");

The prepareStatement() call succeeds, but when calling executeQuery() an exception is thrown:

   org.postgresql.util.PSQLException: No value specified for parameter 1.

The goal is to pass the array as a parameter, something like:

   Array keys = con.createArrayOf("text", new String[] {"key1","key2"});
   connection.prepareStatement("select * from foo where hstore_column ?& ?");
   pstmt.setArray(1, keys);
   ResultSet rs = pstmt.executeQuery();

Tested with 1212 and 42.0.0

Regards
Thomas


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

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: [HACKERS] PGSERVICEFILE as a connection string parameter
Следующее
От: Mark Rotteveel
Дата:
Сообщение: Re: [JDBC] Re: JDBC and the hstore ? operator - no longer workingwith build 1211