db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Erik Bengtson (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JDO-174) JPOX fails on a query comparing the result of Map.get with an expression.
Date Mon, 17 Oct 2005 08:52:45 GMT
    [ http://issues.apache.org/jira/browse/JDO-174?page=comments#action_12332209 ] 

Erik Bengtson commented on JDO-174:
-----------------------------------

Should you cast in the get return?

((String)phoneNumbers.get('home')) == '1111' 

> JPOX fails on a query comparing the result of Map.get with an expression.
> -------------------------------------------------------------------------
>
>          Key: JDO-174
>          URL: http://issues.apache.org/jira/browse/JDO-174
>      Project: JDO
>         Type: Bug
>   Components: tck20
>     Reporter: Michael Watzek
>     Assignee: Erik Bengtson

>
> JPOX fails on a query comparing the result of Map.get with an expression. This bug may
be reproduced applying patch JDO-159. The following query fails throwing an exception:
> SELECT FROM org.apache.jdo.tck.pc.company.Person WHERE phoneNumbers.get('home') == '1111'

> org.jpox.store.expression.ScalarExpression$IllegalOperationException: Cannot perform
operation "==" on ObjectExpression "THIS_PHONENUMBERS.PHONENO" and StringLiteral "'1111'"
> 	at org.jpox.store.expression.ScalarExpression.eq(ScalarExpression.java:325)
> 	at org.jpox.store.expression.ObjectExpression.eq(ObjectExpression.java:228)
> 	at org.jpox.store.query.JDOQLQuery$Compiler.compileEqualityExpression(JDOQLQuery.java:1105)
> 	at org.jpox.store.query.JDOQLQuery$Compiler.compileAndExpression(JDOQLQuery.java:1087)
> 	at org.jpox.store.query.JDOQLQuery$Compiler.compileExclusiveOrExpression(JDOQLQuery.java:1075)
> 	at org.jpox.store.query.JDOQLQuery$Compiler.compileInclusiveOrExpression(JDOQLQuery.java:1063)
> 	at org.jpox.store.query.JDOQLQuery$Compiler.compileConditionalAndExpression(JDOQLQuery.java:1051)
> 	at org.jpox.store.query.JDOQLQuery$Compiler.compileConditionalOrExpression(JDOQLQuery.java:1033)
> 	at org.jpox.store.query.JDOQLQuery$Compiler.compileExpression(JDOQLQuery.java:1010)
> 	at org.jpox.store.query.JDOQLQuery$Compiler.compileQueryStatement(JDOQLQuery.java:888)
> 	at org.jpox.store.query.JDOQLQuery.compile(JDOQLQuery.java:566)
> 	at org.jpox.store.query.JDOQLQuery.performExecute(JDOQLQuery.java:636)
> 	at org.jpox.store.query.Query.executeWithMap(Query.java:891)
> 	at org.jpox.store.query.Query.executeWithArray(Query.java:871)
> 	at org.jpox.store.query.Query.execute(Query.java:803)
> 	at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:639)
> 	at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:559)
> 	at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:535)
> 	at org.apache.jdo.tck.query.jdoql.methods.SupportedMapMethods.executeQuery(SupportedMapMethods.java:142)
> 	at org.apache.jdo.tck.query.jdoql.methods.SupportedMapMethods.testGet(SupportedMapMethods.java:115)
> 	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/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message