[
https://issues.apache.org/jira/browse/OPENJPA-199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Patrick Linskey updated OPENJPA-199:
------------------------------------
Fix Version/s: 1.0.0
The OpenJPA parser did not allow any path traversals in the left-hand side of
SET clause items.
> bulk update gets parsing exception trying to update an attribute of an
> embedded class
> -------------------------------------------------------------------------------------
>
> Key: OPENJPA-199
> URL: https://issues.apache.org/jira/browse/OPENJPA-199
> Project: OpenJPA
> Issue Type: Bug
> Components: query
> Affects Versions: 0.9.7
> Environment: 0.9.7-incubating-SNAPSHOT
> Reporter: George Hongell
> Fix For: 1.0.0
>
> Attachments: embeddedBugWineryTest.zip
>
>
> <4|false|0.9.7-incubating-SNAPSHOT>
> org.apache.openjpa.persistence.ArgumentException: An error occurred while
> parsing the query filter 'update Wine w set w.label.wineName = ?1'. Error
> message: <4|false|0.9.7-incubating-SNAPSHOT>
> org.apache.openjpa.kernel.jpql.ParseException: Encountered "." at character
> 26, but expected: ["="].
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:1661)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.<init>(JPQLExpressionBuilder.java:1641)
> at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:44)
> at
> org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:141)
> at
> org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:643)
> at
> org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:625)
> at
> org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:591)
> at
> org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:653)
> at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1475)
> at
> org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:120)
> at
> org.apache.openjpa.persistence.QueryImpl.executeUpdate(QueryImpl.java:305)
> at
> com.ibm.websphere.ejb3sample.winetour.bug.BugWineryTest.testBulkUpdate(BugWineryTest.java:551)
> at
> com.ibm.websphere.ejb3sample.winetour.bug.BugWineryTest.main(BugWineryTest.java:141)
> Caused by: <4|false|0.9.7-incubating-SNAPSHOT>
> org.apache.openjpa.persistence.ArgumentException: Encountered "." at
> character 26, but expected: ["="].
> at
> org.apache.openjpa.kernel.jpql.JPQL.generateParseException(JPQL.java:9322)
> at org.apache.openjpa.kernel.jpql.JPQL.jj_consume_token(JPQL.java:9199)
> at org.apache.openjpa.kernel.jpql.JPQL.EQ(JPQL.java:5718)
> at org.apache.openjpa.kernel.jpql.JPQL.update_item(JPQL.java:729)
> at org.apache.openjpa.kernel.jpql.JPQL.set_clause(JPQL.java:706)
> at org.apache.openjpa.kernel.jpql.JPQL.update_clause(JPQL.java:701)
> at org.apache.openjpa.kernel.jpql.JPQL.update_statement(JPQL.java:147)
> at org.apache.openjpa.kernel.jpql.JPQL.parseQuery(JPQL.java:65)
> at
> org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse(JPQLExpressionBuilder.java:1654)
> ... 12 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.