[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-4977?page=c...
]
Strong Liu resolved HHH-4977.
-----------------------------
Assignee: Strong Liu
Resolution: Fixed
Fix Version/s: 3.5.x
org.hibernate.test.hql.ASTParserLoadingTest error running
testOneToManyFilter with Ingres
-----------------------------------------------------------------------------------------
Key: HHH-4977
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-4977
Project: Hibernate Core
Issue Type: Bug
Components: testsuite
Affects Versions: 3.5.0-CR-2
Environment: Hibernate 3.5.0-CR-2, Ingres 9.3.1 (int.lnx/106), Ingres9Dialect
Reporter: Ray Fan
Assignee: Strong Liu
Fix For: 3.5.x
Attachments: hql-astparserloadingtest.zip
Error reported executing org.hibernate.test.hql.ASTParserLoadingTest testOneToManyFilter
with an Ingres exception
{noformat}
<error message="could not execute query"
type="org.hibernate.exception.SQLGrammarException">org.hibernate.exception.SQLGrammarException:
could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2257)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2151)
at org.hibernate.loader.Loader.list(Loader.java:2146)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:448)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.listFilter(SessionImpl.java:1614)
at org.hibernate.impl.CollectionFilterImpl.list(CollectionFilterImpl.java:74)
at
org.hibernate.test.hql.ASTParserLoadingTest.testOneToManyFilter(ASTParserLoadingTest.java:1653)
Caused by: com.ingres.gcf.util.SqlEx: A <column reference> contained a
<qualifier> 'order0_'
which did not correspond to any of the <table reference>s
within whose scope the <column reference> appeared.
at com.ingres.gcf.jdbc.DrvObj.readError(Unknown Source)
at com.ingres.gcf.jdbc.DrvObj.readResults(Unknown Source)
at com.ingres.gcf.jdbc.DrvPrep.prepare(Unknown Source)
at com.ingres.gcf.jdbc.DrvConn.createPrepStmt(Unknown Source)
at com.ingres.gcf.jdbc.JdbcPrep.<init>(Unknown Source)
at com.ingres.gcf.jdbc.JdbcConn.createPrep(Unknown Source)
at com.ingres.gcf.jdbc.JdbcConn.prepareStatement(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
at
org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1597)
at org.hibernate.loader.Loader.doQuery(Loader.java:718)
at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:271)
at org.hibernate.loader.Loader.doList(Loader.java:2254)
... 38 more
</error>
{noformat}
The SQL query that is produced references order0_ in the WHERE clause of the subselect.
{noformat}
select
order0_.customerId as customerId35_,
order0_.orderNumber as orderNum2_35_,
order0_.orderDate as orderDate35_,
( select
sum(li.quantity*p.cost)
from
LineItem li,
Product p
where
li.productId = p.productId
and li.customerId = order0_.customerId
and li.orderNumber = order0_.orderNumber ) as formula1_
from
CustomerOrder order0_
where
order0_.customerId = ?
{noformat}
Once the scoping error is removed a more fundamental error is exposed "Sub-selects
are not supported within select target lists."
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira