| Andy Jefferson (JIRA) 2005-12-20, 5:45 pm |
| [ http://issues.apache.org/jira/brows...action_12360959 ]
Andy Jefferson commented on JDO-194:
------------------------------------
JPOX would have to check for whether something is a class or not before falling back to "implicit variable". As for which variable "employee" is the issue I've no idea ... but then I don't see the issue so can't debug it. The stack trace line numbers prov
ided by Michael above don't correspond to what I have in JPOX CVS either. Provide a valid stack trace using the most recent JPOX build, and just the part like the following
at org.jpox.util.Imports.resolveClassDeclaration(Imports.java:152)
at org.jpox.store.query.Query.resolveClassDeclaration(Query.java:844)
at org.jpox.store.query.JDOQLQuery$Compiler.compileIdentifier(JDOQLQuery.java:1993)
at org.jpox.store.query.JDOQLQuery$Compiler.compilePrimary(JDOQLQuery.java:1650)
Without valid line numbers I can't do a thing.
> JPOX does not support implicit variables.
> -----------------------------------------
>
> Key: JDO-194
> URL: http://issues.apache.org/jira/browse/JDO-194
> Project: JDO
> Type: Bug
> Components: tck20
> Reporter: Michael Watzek
> Assignee: Erik Bengtson
>
> JPOX throws an exception executing queries having implicit parameters (see below). The bug may be reproduced executing test case org.apache.jdo.tck.query.jdoql.variables.VariablesAndFields.
> Query: SELECT FROM org.apache.jdo.tck.pc.company.Employee WHERE team.contains(employee) & employee.firstname == 'emp1First'
> org.jpox.store.exceptions.NoSuchPersistentFieldException: Field "employee" does not exist in org.apache.jdo.tck.pc.company.Person or is not persistent
> at org.jpox.store.rdbms.table.ClassTable.getFieldMapping(ClassTable.java:1790)
> at org.jpox.store.expression.TableExpression.newFieldExpression(TableExpression.java:183)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileIdentifier(JDOQLQuery.java:1534)
> at org.jpox.store.query.JDOQLQuery$Compiler.compilePrimary(JDOQLQuery.java:1299)
> at org.jpox.store.query.JDOQLQuery$Compiler. compileUnaryExpressionNotPlusMinus(JDOQL
Query.java:1245)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileUnaryExpression(JDOQLQuery.java:1226)
> at org.jpox.store.query.JDOQLQuery$Compiler. compileMultiplicativeExpression(JDOQLQue
ry.java:1179)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileAdditiveExpression(JDOQLQuery.java:1156)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileRelationalExpression(JDOQLQuery.java:1125)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileEqualityExpression(JDOQLQuery.java:1102)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileAndExpression(JDOQLQuery.java:1090)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileExclusiveOrExpression(JDOQLQuery.java:1078)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileInclusiveOrExpression(JDOQLQuery.java:1066)
> at org.jpox.store.query.JDOQLQuery$Compiler. compileConditionalAndExpression(JDOQLQue
ry.java:1054)
> at org.jpox.store.query.JDOQLQuery$Compiler. compileConditionalOrExpression(JDOQLQuer
y.java:1036)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileExpression(JDOQLQuery.java:1013)
> at org.jpox.store.query.JDOQLQuery$Compiler.compilePrimary(JDOQLQuery.java:1346)
> at org.jpox.store.query.JDOQLQuery$Compiler. compileUnaryExpressionNotPlusMinus(JDOQL
Query.java:1245)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileUnaryExpression(JDOQLQuery.java:1226)
> at org.jpox.store.query.JDOQLQuery$Compiler. compileMultiplicativeExpression(JDOQLQue
ry.java:1179)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileAdditiveExpression(JDOQLQuery.java:1156)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileRelationalExpression(JDOQLQuery.java:1125)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileEqualityExpression(JDOQLQuery.java:1102)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileAndExpression(JDOQLQuery.java:1090)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileExclusiveOrExpression(JDOQLQuery.java:1078)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileInclusiveOrExpression(JDOQLQuery.java:1066)
> at org.jpox.store.query.JDOQLQuery$Compiler. compileConditionalAndExpression(JDOQLQue
ry.java:1054)
> at org.jpox.store.query.JDOQLQuery$Compiler. compileConditionalOrExpression(JDOQLQuer
y.java:1036)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileExpression(JDOQLQuery.java:1013)
> at org.jpox.store.query.JDOQLQuery$Compiler.compileQueryStatement(JDOQLQuery.java:891)
> at org.jpox.store.query.JDOQLQuery.compile(JDOQLQuery.java:569)
> at org.jpox.store.query.JDOQLQuery.performExecute(JDOQLQuery.java:639)
> at org.jpox.store.query.Query.executeWithMap(Query.java:907)
> at org.jpox.store.query.Query.executeWithArray(Query.java:887)
> at org.jpox.store.query.Query.execute(Query.java:819)
> at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:706)
> at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:625)
> at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:601)
> at org.apache.jdo.tck.query.jdoql.variables.VariablesAndFields.testPositive(VariablesAndFields.java:148)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:204)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> at junit.framework.TestSuite.run(TestSuite.java:203)
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> at junit.framework.TestSuite.run(TestSuite.java:203)
> at junit.textui.TestRunner.doRun(TestRunner.java:116)
> at junit.textui.TestRunner.doRun(TestRunner.java:109)
> at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
> at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secur...nistrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
|