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 по дате отправления: