[ 
http://issues.apache.org/jira/browse/JDO-175?page=comments#action_12331642 ] 

Andy Jefferson commented on JDO-175:
------------------------------------

This will likely work with latest JPOX CVS, but since this JIRA issue is based 
on something that isn't even checked in, it is not possible to test it.

> JPOX fails when a query calls String.indexOf
> --------------------------------------------
>
>          Key: JDO-175
>          URL: http://issues.apache.org/jira/browse/JDO-175
>      Project: JDO
>         Type: Bug
>     Reporter: Michael Watzek
>     Assignee: Erik Bengtson

>
> JPOX fails when a query calls String.indexOf. This bug may be reproduced 
> applying patch JDO-158. The following query throws an exception:
> SELECT FROM org.apache.jdo.tck.pc.company.Person WHERE 
> firstname.indexOf('First') == 4
> javax.jdo.JDOUserException: String.indexOf() can only be compared >= 0
>       at 
> org.jpox.store.expression.IndexOfExpression.toStatementText(IndexOfExpression.java:60)
>       at org.jpox.store.StatementText.append(StatementText.java:138)
>       at 
> org.jpox.store.expression.ScalarExpression.<init>(ScalarExpression.java:265)
>       at 
> org.jpox.store.expression.BooleanExpression.<init>(BooleanExpression.java:47)
>       at 
> org.jpox.store.expression.NumericExpression.eq(NumericExpression.java:63)
>       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.SupportedStringMethods.executeQuery(SupportedStringMethods.java:274)
>       at 
> org.apache.jdo.tck.query.jdoql.methods.SupportedStringMethods.testIndexOfString(SupportedStringMethods.java:223)
>       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

Reply via email to