cannot dollar-quote $$?$$ in PreparedStatements

From: Marc Herbert <Marc(dot)Herbert(at)continuent(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: cannot dollar-quote $$?$$ in PreparedStatements
Date: 2006-01-11 11:41:50
Message-ID: khjoe2jt2ip.fsf@meije.emic.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc


With 8.0 postgresql and driver, this works fine:
ps = con.prepareStatement("insert into product values(?, '?' , ?)");

But this fails:
ps = con.prepareStatement("insert into product values(?, $$?$$ , ?)");

It looks like "someone" (driver or engine?) is counting 3 parameters instead of 3:

org.postgresql.util.PSQLException: Pas de valeur specifiee pour le parametre 3.
at org.postgresql.core.v3.SimpleParameterList.checkAllParametersSet(SimpleParameterList.java:102)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:166)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:389)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:330)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:282)
at TestFetchSize.main(TestFetchSize.java:86)

How dollar-quoting and question marks are supposed to interact?
Sorry if this a well-known issue.

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kovács Péter 2006-01-11 13:54:57 Memory leak or client side caching?
Previous Message Kris Jurka 2006-01-10 21:16:51 Re: JDBC, PrepareStatement and TimeStamp problem