Issue Details (XML | Word | Printable)

Key: NUCCORE-977
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Graham Stewart
Votes: 0
Watchers: 0

If you were logged in you would be able to see more operations.
DataNucleus Core

JDO bulk update in single string JDOQL not working due to '=' throwing exception in parser

Created: 03/Jan/13 12:48 AM   Updated: 11/Jan/13 12:46 PM   Resolved: 03/Jan/13 10:20 AM
Component/s: Persistence, Queries
Affects Version/s: 3.2.0.m1, 3.2.0.m2
Fix Version/s: 3.2.0.m3

Environment: Linux

Forum Thread URL:,7402
Datastore: MySQL
Severity: Development

 Description  « Hide
You cannot use bulk update in JDOQL due to single '=' being rejected by JDOQLParser

javax.jdo.JDOUserException: Invalid operator "=". Did you mean to use "=="?
at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(
at org.datanucleus.api.jdo.JDOQuery.execute(
at org.datanucleus.samples.jdo.query.Main.main(
Invalid operator "=". Did you mean to use "=="? Invalid operator "=". Did you mean to use "=="?
at org.datanucleus.query.compiler.JDOQLParser.processRelationalExpression(
at org.datanucleus.query.compiler.JDOQLParser.processAndExpression(
at org.datanucleus.query.compiler.JDOQLParser.processExclusiveOrExpression(
at org.datanucleus.query.compiler.JDOQLParser.processInclusiveOrExpression(
at org.datanucleus.query.compiler.JDOQLParser.processConditionalAndExpression(
at org.datanucleus.query.compiler.JDOQLParser.processConditionalOrExpression(
at org.datanucleus.query.compiler.JDOQLParser.processExpression(
at org.datanucleus.query.compiler.JDOQLParser.parse(
at org.datanucleus.query.compiler.JavaQueryCompiler.compileFilter(
at org.datanucleus.query.compiler.JDOQLCompiler.compile(
at org.datanucleus.api.jdo.JDOQuery.execute(
at org.datanucleus.samples.jdo.query.Main.main(

Forum post has testcase and diff to "fix"

Sort Order: Ascending order - Click to sort in descending order
Andy Jefferson added a comment - 03/Jan/13 10:20 AM
SVN trunk allows "=" syntax in the UPDATE clause when 'allowAll' is set. Note that this doesn't use the forum patch which had 2 problems : added a Node as "!=", and applied to all clauses not just the UPDATE (and I've no intention of allowing people to use "=" in a WHERE clause for example). Thx