Re: OpenJPA problems running against PG 8.1

From: Andrew Hastie <andrew(at)ahastie(dot)net>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: OpenJPA problems running against PG 8.1
Date: 2011-10-03 10:17:51
Message-ID: 4E898BCF.9090300@ahastie.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Apologies - posted under wrong thread. Will re-post. (Monday morning
syndrome :-/ )
Andrew

On 03/10/11 10:31, Andrew Hastie wrote:
> Posting here for info only as I don't believe this is a "bug" as such,
> rather a change in behaviour:-
>
> Latest 2.1.1 stable version of Apache OpenJPA project appears broken
> when running against Postgres when upgraded to v9.1. This I think is
> down to the changes in escape string handling in SQL LIKE clauses.
> Here's a link to the bug I've lodged against OpenJPA which includes
> details of how to configure an override at runtime to the default
> Postgres DBDictionary setting which will get things working again:-
>
>
> http://openjpa.208410.n2.nabble.com/Postgres-V9-1-issue-with-LIKE-clause-and-Escape-Strings-td6848069.html
>
> Also copying here for info just in case:-
>
> =======================================================
> Noticed an issue with the Postgres DBDictionary definition after
> updating Postgres from version 8.4 to 9.1:-
>
> Here's what you get in the Postgres trace file when executing some JPA
> driven queries where an SQL LIKE is involved:-
>
> 2011-09-30 14:29:41 BST ERROR: invalid escape string
> 2011-09-30 14:29:41 BST HINT: Escape string must be empty or one
> character.
> 2011-09-30 14:29:41 BST STATEMENT: SELECT t0.id, t0.identificationMask,
> t0.productName FROM DBTYPE t0 WHERE (t0.identificationMask LIKE $1
> ESCAPE '\\')
> 2011-09-30 14:29:41 BST ERROR: current transaction is aborted, commands
> ignored until end of transaction block
>
> This appears to be down to a change the Postgres project have made to
> escape string handling:-
> http://www.postgresql.org/docs/9.1/static/release-9-1.html (see
> section E.2.2.1)
>
> You appear to be able to override the default DBDictionary setting for
> this as follows to get things working again:-
> <property name="openjpa.jdbc.DBDictionary"
> value="postgres(SearchStringEscape=\)"/>
>
> So, does this mean OpenJPA needs a version dependent dictionary
> definition for Postgres from now on? Anybody got any better solutions or
> care to confirm what I'm seeing?
>
> I've also posted this to the Postgres JDBC mailing list in case they
> have any comments.
> =======================================================
>
> Andrew
>

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2011-10-03 10:27:42 Re: OpenJPA problems running against PG 8.1
Previous Message Andrew Hastie 2011-10-03 10:14:36 OpenJPA problems running against PG 8.1