Issue Details (XML | Word | Printable)

Key: JDO-175
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: AJSoft
Reporter: Michael Watzek
Votes: 0
Watchers: 0
Operations

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

JPOX fails when a query calls String.indexOf

Created: 07/Oct/05 12:48 AM   Updated: 22/Oct/05 05:31 PM
Return to search
Component/s: tck2
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

Resolution Date: 22/Oct/05 05:31 PM


 Description  « Hide
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)


 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Michael Watzek added a comment - 07/Oct/05 12:51 AM
There is a type above. Use patch JDO-159 to reproduce this bug.

A query calling method indexOf(String, int) fails throwing the same exception.

Andy Jefferson added a comment - 08/Oct/05 03:32 PM
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.

Michael Watzek added a comment - 17/Oct/05 05:45 PM
Component set to tck20.

Andy Jefferson added a comment - 22/Oct/05 05:31 PM
Fixed in current JPOX CVS