[ http://issues.apache.org/jira/browse/JDO-251?page=all ]
     
Andy Jefferson resolved JDO-251:
--------------------------------

    Resolution: Fixed

Rest in Peace. Fixed in JPOX CVS - builds dated 08/01/2006 or later should have 
this fix.

> JPOX generates illegal SQL for queries using COUNT(variable) in result 
> clauses.
> -------------------------------------------------------------------------------
>
>          Key: JDO-251
>          URL: http://issues.apache.org/jira/browse/JDO-251
>      Project: JDO
>         Type: Bug
>   Components: tck20
>     Reporter: Michael Watzek
>     Assignee: Andy Jefferson

>
> Test case ResultExpressions fails for the query below. The query uses 
> COUNT(variable) in the result clause. The variable is bound to a collection.
> 14:23:19,437 (main) DEBUG [org.apache.jdo.tck] - Executing API query: SELECT 
> COUNT(project) FROM org.apache.jdo.tck.pc.company.Employee WHERE 
> projects.contains(project) && personid == 1 VARIABLES Project project 
> 14:23:19,515 (main) INFO  [org.apache.jdo.tck] - Exception during setUp or 
> runtest: 
> javax.jdo.JDODataStoreException: Error executing JDOQL query "SELECT DISTINCT 
> COUNT() FROM applicationidentity0.PERSONS THIS INNER JOIN 
> applicationidentity0.PROJECT_MEMBER THIS_PROJECTS ON THIS_PROJECTS."MEMBER" = 
> THIS.PERSONID INNER JOIN applicationidentity0.PROJECTS UNBOUND_PROJECT ON 
> UNBOUND_PROJECT.PROJID = THIS_PROJECTS.PROJID WHERE (THIS.DISCRIMINATOR = ? 
> OR THIS.DISCRIMINATOR = ? OR THIS.DISCRIMINATOR = ?) AND THIS.PERSONID = 1" : 
> Syntax error: Encountered ")" at line 1, column 23.
> ERROR 42X01: Syntax error: Encountered ")" at line 1, column 23.
>       at org.apache.derby.iapi.error.StandardException.newException(Unknown 
> Source)
>       at org.apache.derby.impl.sql.compile.ParserImpl.parseStatement(Unknown 
> Source)
>       at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
>       at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
>       at 
> org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown
>  Source)
>       at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown 
> Source)
>       at org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown 
> Source)
>       at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown 
> Source)
>       at 
> com.mchange.v2.c3p0.impl.NewProxyConnection.prepareStatement(NewProxyConnection.java:190)
>       at org.jpox.store.StatementText.prepareStatement(StatementText.java:199)
>       at org.jpox.store.query.JDOQLQuery.performExecute(JDOQLQuery.java:678)
>       at org.jpox.store.query.Query.executeWithMap(Query.java:966)
>       at org.jpox.store.query.Query.executeWithArray(Query.java:939)
>       at org.jpox.store.query.Query.execute(Query.java:862)
>       at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1151)
>       at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1029)
>       at 
> org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:966)
>       at 
> org.apache.jdo.tck.query.result.ResultExpressions.executeQuery(ResultExpressions.java:483)
>       at 
> org.apache.jdo.tck.query.result.ResultExpressions.testCountVariable(ResultExpressions.java:410)
>       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)
> .
>       at org.jpox.store.query.JDOQLQuery.performExecute(JDOQLQuery.java:747)
>       at org.jpox.store.query.Query.executeWithMap(Query.java:966)
>       at org.jpox.store.query.Query.executeWithArray(Query.java:939)
>       at org.jpox.store.query.Query.execute(Query.java:862)
>       at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1151)
>       at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1029)
>       at 
> org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:966)
>       at 
> org.apache.jdo.tck.query.result.ResultExpressions.executeQuery(ResultExpressions.java:483)
>       at 
> org.apache.jdo.tck.query.result.ResultExpressions.testCountVariable(ResultExpressions.java:410)
>       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