State of the support for the hstore ? operator

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: State of the support for the hstore ? operator
Date: 2015-11-18 07:44:04
Message-ID: n2ha84$5u8$
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc


I just stumbled upon this (using postgresql-9.4-1205.jdbc42.jar)

Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select count(*) from product where attributes ? 'location_id'");

results in

org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1"

"product.attributes" is a hstore column:

I recall a discussion about this problem a while ago, but I can't find it any more.

While I certainly would expect a problem when using a PreparedStatement I am surprised
that a "plain" executeQuerys() also tries to do parameter replacement.

I have found the suggestion to use exist(attributes, 'location_id') but that is not
an option as that does not use the index on the column.

So what is the state of this? Do we have a way of escaping the ? operator?

I couldn't find anything in the documentation.



Browse pgsql-jdbc by date

  From Date Subject
Next Message Albe Laurenz 2015-11-18 10:35:23 Re: State of the support for the hstore ? operator
Previous Message Victor Wagner 2015-11-18 07:15:19 Re: Patch (3): Implement failover on libpq connect level.