db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Jefferson (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JDO-573) RI creates bad SQL for navigational queries
Date Fri, 19 Mar 2010 18:08:27 GMT

    [ https://issues.apache.org/jira/browse/JDO-573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12847486#action_12847486
] 

Andy Jefferson commented on JDO-573:
------------------------------------

For reference, DataNucleus 2.1.x passes this test, using the replacement JDOQL implementation.

Since DN 2.1 is not yet released this can wait until after JDO2.3 release for enabling of
these excluded tests.

> RI creates bad SQL for navigational queries
> -------------------------------------------
>
>                 Key: JDO-573
>                 URL: https://issues.apache.org/jira/browse/JDO-573
>             Project: JDO
>          Issue Type: Bug
>          Components: tck2, tck2-legacy
>    Affects Versions: JDO 2 maintenance release 1, JDO 2 maintenance release 2
>            Reporter: Craig L Russell
>            Assignee: Andy Jefferson
>
> The test org.apache.jdo.tck.query.result.VariableInResultNavigation fails with incorrect
SQL generated.
>     [java] 1) testNavigationWithThisAndCompany(org.apache.jdo.tck.query.result.VariableInResultNavigation)javax.jdo.JDOException:
JDOException thrown while executing query:
>     [java] SELECT this, e, p FROM org.apache.jdo.tck.pc.company.Company WHERE name ==
"Sun Microsystems, Inc." && departments.contains(d) && d.employees.contains(e)
&& e.projects.contains(p) VARIABLES Department d; Employee e; Project p 
>     [java] 	at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1314)
>     [java] 	at org.apache.jdo.tck.query.QueryTest.execute(QueryTest.java:1135)
>     [java] 	at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1071)
>     [java] 	at org.apache.jdo.tck.query.QueryTest.executeAPIQuery(QueryTest.java:1051)
>     [java] 	at org.apache.jdo.tck.query.result.VariableInResultNavigation.testNavigationWithThisAndCompany(VariableInResultNavigation.java:251)
>     [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:254)
>     [java] 	at org.apache.jdo.tck.util.BatchTestRunner.doRun(BatchTestRunner.java:108)
>     [java] 	at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:148)
>     [java] 	at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:123)
>     [java] NestedThrowablesStackTrace:
>     [java] javax.jdo.JDODataStoreException: [JPOX-042007] Error executing JDOQL query
"SELECT THIS.DATASTORE_IDENTITY,UNBOUND_E.DATASTORE_IDENTITY,UNBOUND_P.DATASTORE_IDENTITY
FROM datastoreidentity0.COMPANIES THIS , datastoreidentity0.PERSONS UNBOUND_E , datastoreidentity0.PROJECTS
UNBOUND_P WHERE EXISTS (SELECT 1 FROM datastoreidentity0.DEPARTMENTS THIS_DEPARTMENTS_D WHERE
EXISTS (SELECT 1 FROM datastoreidentity0.PERSONS THIS_DEPARTMENTS_D_EMPLOYEES_E WHERE THIS_DEPARTMENTS_D_EMPLOYEES_E.DEPARTMENT
= THIS_DEPARTMENTS_D.DATASTORE_IDENTITY AND THIS_DEPARTMENTS_D.COMPANYID = THIS.DATASTORE_IDENTITY
AND THIS."NAME" = ?)) AND EXISTS (SELECT 1 FROM datastoreidentity0.PROJECT_MEMBER THIS_DEPARTMENTS_D_EMPLOYEES_E_PROJECTS_P
WHERE THIS_DEPARTMENTS_D_EMPLOYEES_E_PROJECTS_P."MEMBER" = THIS_DEPARTMENTS_D_EMPLOYEES_E.DATASTORE_IDENTITY
AND UNBOUND_P.DATASTORE_IDENTITY = THIS_DEPARTMENTS_D_EMPLOYEES_E_PROJECTS_P.PROJID)" : Column
'THIS_DEPARTMENTS_D_EMPLOYEES_E.DATASTORE_IDENTITY' is either not in any table in the FROM
list or appears within a join specification and is outside the scope of the join specification
or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER
TABLE  statement then 'THIS_DEPARTMENTS_D_EMPLOYEES_E.DATASTORE_IDENTITY' is not a column
in the target table..

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message