I upgraded to postgresql-9.4.1209.jar and fixed all the places in our
code that used JDBC escaped scalar functions (e.g., {fn now()}) inside
function definitions. However, we continued to see the telltale
exception (org.postgresql.util.PSQLException: ERROR: syntax error at or
near "{") when executing straightforward SELECT queries that included
scalar functions. I tracked this down to comments; a simple repro is to
execute the following query via JDBC:
SELECT /* $ */ {fn curdate()}
The original comments included many characters, but the dollar sign
seems to be the culprit. I think this indicates a problem with the
parser that's attempting to detect string literals.
Thanks,
Adam