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

Craig Russell commented on JDO-310:
-----------------------------------

Runnning with this patch, the tests fail but not because of Derby. It appears 
that JPOX is not constructing the right SQL for this query.

    [echo] Starting configuration="clr.conf" with database="derby" 
identitytype="datastoreidentity" mapping="".
    [java] RUN VariableInResult.testDistinctNoNavigation           FAILURE
    [java] RUN VariableInResult.testNoNavigation           FAILURE
    [java] RUN VariableInResult.testDistinctNavigation
    [java] RUN VariableInResult.testNavigation
    [java] Description: Special Test
    [java] Time: 026
    [java] There were 2 failures:
    [java] 1) 
testDistinctNoNavigation(org.apache.jdo.tck.query.result.VariableInResult)junit.framework.AssertionFailedError:
 Assertion A14.6.9-3 (VariableInResult) failed: 
    [java] Wrong query result: 
    [java] query: SELECT distinct e FROM 
org.apache.jdo.tck.pc.company.Department WHERE deptid==2 & 
employees.contains(e) VARIABLES Employee e 
    [java] expected: [PartTimeEmployee(4, emp4Last, emp4First, born 5/Sep/1973, 
phone {work=124456-3, home=3343}, hired 14/Apr/2001, weeklyhours 0.0, $13.0), 
FullTimeEmployee(5, emp5Last, emp5First, born 4/Jul/1962, phone {work=126456-3, 
home=3363}, hired 14/Aug/1998, weeklyhours 0.0, $45000.0)]
    [java] got:      [FullTimeEmployee(1, emp1Last, emp1First, born 9/Jun/1970, 
phone {work=123456-1,home=1111}, hired 31/Dec/1998, weeklyhours 40.0, 
$20000.0), FullTimeEmployee(5, emp5Last, emp5First, born 4/Jul/1962, phone 
{work=126456-3,home=3363}, hired 14/Aug/1998, weeklyhours 0.0, $45000.0), 
PartTimeEmployee(3, emp3Last, emp3First, born 4/Sep/1972, phone 
{work=123456-3,home=3333}, hired 14/Aug/2002, weeklyhours 19.0, $15.0), 
FullTimeEmployee(2, emp2Last, emp2First, born 21/Dec/1975, phone 
{work=123456-2,home=2222}, hired 30/Jun/2003, weeklyhours 40.0, $10000.0), 
PartTimeEmployee(4, emp4Last, emp4First, born 5/Sep/1973, phone 
{work=124456-3,home=3343}, hired 14/Apr/2001, weeklyhours 0.0, $13.0)]
    [java]      at org.apache.jdo.tck.JDO_Test.fail(JDO_Test.java:583)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.queryFailed(QueryTest.java:508)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.checkQueryResultWithoutOrder(QueryTest.java:536)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1230)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1070)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1007)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:987)
    [java]      at 
org.apache.jdo.tck.query.result.VariableInResult.testDistinctNoNavigation(VariableInResult.java:141)
    [java]      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [java]      at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [java]      at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [java]      at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:232)
    [java]      at 
org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:105)
    [java]      at 
org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:143)
    [java]      at 
org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:118)
    [java] 2) 
testNoNavigation(org.apache.jdo.tck.query.result.VariableInResult)junit.framework.AssertionFailedError:
 Assertion A14.6.9-3 (VariableInResult) failed: 
    [java] Wrong query result: 
    [java] query: SELECT e FROM org.apache.jdo.tck.pc.company.Department WHERE 
deptid==2 & employees.contains(e) VARIABLES Employee e 
    [java] expected: [PartTimeEmployee(4, emp4Last, emp4First, born 5/Sep/1973, 
phone {work=124456-3, home=3343}, hired 14/Apr/2001, weeklyhours 0.0, $13.0), 
FullTimeEmployee(5, emp5Last, emp5First, born 4/Jul/1962, phone {work=126456-3, 
home=3363}, hired 14/Aug/1998, weeklyhours 0.0, $45000.0)]
    [java] got:      [FullTimeEmployee(1, emp1Last, emp1First, born 9/Jun/1970, 
phone {work=123456-1,home=1111}, hired 31/Dec/1998, weeklyhours 40.0, 
$20000.0), FullTimeEmployee(5, emp5Last, emp5First, born 4/Jul/1962, phone 
{work=126456-3,home=3363}, hired 14/Aug/1998, weeklyhours 0.0, $45000.0), 
PartTimeEmployee(3, emp3Last, emp3First, born 4/Sep/1972, phone 
{work=123456-3,home=3333}, hired 14/Aug/2002, weeklyhours 19.0, $15.0), 
FullTimeEmployee(2, emp2Last, emp2First, born 21/Dec/1975, phone 
{work=123456-2,home=2222}, hired 30/Jun/2003, weeklyhours 40.0, $10000.0), 
PartTimeEmployee(4, emp4Last, emp4First, born 5/Sep/1973, phone 
{work=124456-3,home=3343}, hired 14/Apr/2001, weeklyhours 0.0, $13.0)]
    [java]      at org.apache.jdo.tck.JDO_Test.fail(JDO_Test.java:583)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.queryFailed(QueryTest.java:508)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.checkQueryResultWithoutOrder(QueryTest.java:536)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1230)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1070)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1007)
    [java]      at 
org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:987)
    [java]      at 
org.apache.jdo.tck.query.result.VariableInResult.testNoNavigation(VariableInResult.java:150)
    [java]      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [java]      at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [java]      at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [java]      at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:232)
    [java]      at 
org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:105)
    [java]      at 
org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:143)
    [java]      at 
org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:118)
    [java] FAILURES!!!
    [java] derby-dsid-clr-junit.txt:
    [java]     ** Tests run: 004, Time: 026 seconds. Failures: 2, Errors: 0
    [java] Excluded tests: [org.apache.jdo.tck.enhancement.FieldAccessModified, 
org.apache.jdo.tck.enhancement.ImplementsPersistenceCapable]
    [java] [ERROR] Java Result: 1
    [echo] Finished configuration="clr.conf" with database="derby" 
identitytype="datastoreidentity" mapping="".


> JPOX fails test VariableInResult.testDistinctNoNavigation with 
> JDODataStoreException from Derby
> -----------------------------------------------------------------------------------------------
>
>          Key: JDO-310
>          URL: http://issues.apache.org/jira/browse/JDO-310
>      Project: JDO
>         Type: Bug
>   Components: tck20
>     Reporter: Michael Bouschen
>     Assignee: Erik Bengtson
>      Fix For: JDO 2 final
>  Attachments: variables.patch
>
> Test methods testDistinctNoNavigation and testNoNavigation of 
> org.apache.jdo.tck.query.result.VariableInResult fail throwing a 
> JDODataStoreException.  The error messages says: "ERROR 42972: An ON clause 
> associated with a JOIN operator is not valid.".
> Here is the stacktace for method testDistinctNoNavigation, the other 
> stacktrace is the same:
> 1) 
> testDistinctNoNavigation(org.apache.jdo.tck.query.result.VariableInResult)javax.jdo.JDODataStoreException:
>  Error executing JDOQL query "SELECT DISTINCT UNBOUND_P.PROJID FROM 
> applicationidentity0.PERSONS THIS,applicationidentity0.PROJECTS UNBOUND_P 
> WHERE EXISTS (SELECT 1 FROM applicationidentity0.PROJECT_MEMBER 
> THIS_PROJECTS_P LEFT OUTER JOIN applicationidentity0.PROJECTS UNBOUND_P_NAME 
> ON UNBOUND_P.PROJID = UNBOUND_P_NAME.PROJID WHERE THIS_PROJECTS_P."MEMBER" = 
> THIS.PERSONID AND THIS_PROJECTS_P."MEMBER" = THIS.PERSONID AND 
> UNBOUND_P.PROJID = THIS_PROJECTS_P.PROJID AND UNBOUND_P_NAME."NAME" = ? AND 
> (THIS.DISCRIMINATOR = ? OR THIS.DISCRIMINATOR = ? OR THIS.DISCRIMINATOR = 
> ?))" : An ON clause associated with a JOIN operator is not valid.
> ERROR 42972: An ON clause associated with a JOIN operator is not valid.
>       at org.apache.derby.iapi.error.StandardException.newException(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.compile.JoinNode.deferredBindExpressions(Unknown 
> Source)
>       at org.apache.derby.impl.sql.compile.JoinNode.bindResultColumns(Unknown 
> Source)
>       at org.apache.derby.impl.sql.compile.FromList.bindResultColumns(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.compile.SelectNode.bindResultColumns(Unknown Source)
>       at 
> org.apache.derby.impl.sql.compile.SubqueryNode.bindExpression(Unknown Source)
>       at org.apache.derby.impl.sql.compile.SelectNode.bindExpressions(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.compile.DMLStatementNode.bindExpressions(Unknown 
> Source)
>       at org.apache.derby.impl.sql.compile.DMLStatementNode.bind(Unknown 
> Source)
>       at org.apache.derby.impl.sql.compile.ReadCursorNode.bind(Unknown Source)
>       at org.apache.derby.impl.sql.compile.CursorNode.bind(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:241)
>       at org.jpox.store.rdbms.RDBMSManager.getStatement(RDBMSManager.java:355)
>       at org.jpox.store.StatementText.prepareStatement(StatementText.java:204)
>       at org.jpox.store.query.Query.getStatement(Query.java:797)
>       at org.jpox.store.query.JDOQLQuery.performExecute(JDOQLQuery.java:516)
>       at org.jpox.store.query.Query.executeWithMap(Query.java:1113)
>       at org.jpox.store.query.Query.executeWithArray(Query.java:1086)
>       at org.jpox.store.query.Query.execute(Query.java:1009)
>       at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1192)
>       at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1070)
>       at 
> org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1007)
>       at 
> org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:987)
>       at 
> org.apache.jdo.tck.query.result.VariableInResult.testDistinctNoNavigation(VariableInResult.java:138)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:204)
>       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:570)
>       at org.jpox.store.query.Query.executeWithMap(Query.java:1113)
>       at org.jpox.store.query.Query.executeWithArray(Query.java:1086)
>       at org.jpox.store.query.Query.execute(Query.java:1009)
>       at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1192)
>       at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1070)
>       at 
> org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1007)
>       at 
> org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:987)
>       at 
> org.apache.jdo.tck.query.result.VariableInResult.testDistinctNoNavigation(VariableInResult.java:138)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:204)
>       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