You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Albert Lee (Closed) (JIRA)" <ji...@apache.org> on 2012/02/02 18:14:54 UTC

[jira] [Closed] (OPENJPA-2056) Postgres V9.1 issue with LIKE clause and Escape Strings

     [ https://issues.apache.org/jira/browse/OPENJPA-2056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Albert Lee closed OPENJPA-2056.
-------------------------------


Close issue in preparation for 2.2.0 release.
                
> Postgres V9.1 issue with LIKE clause and Escape Strings
> -------------------------------------------------------
>
>                 Key: OPENJPA-2056
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2056
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc, sql
>    Affects Versions: 2.0.0, 2.0.1, 2.1.1
>         Environment: Running against a Postgres database at version 9.1
>            Reporter: Andrew Hastie
>            Assignee: Milosz Tylenda
>             Fix For: 2.2.0
>
>
> 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. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira