[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-294?page=all ]
Steve Ebersole updated HHH-294:
-------------------------------
Fix Version: (was: 3.2.1)
On hold until after translator and grammar changes are complete
implicit join in both subselect and outer query : single join
-------------------------------------------------------------
Key: HHH-294
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-294
Project: Hibernate3
Type: Improvement
Components: query-hql
Reporter: Steve Ebersole
Assignee: Steve Ebersole
Priority: Minor
See HHH-280 for the details.
Basically, that was fixed by reverting to the old parser output of generating duplicate
joins. This should be fixed to use the same join both times for effeciency.
There were a number of ways we might acheive this:
1) Somehow suspend processing of subqueries until their containing query is completely
processed. The trick here is that the join definition from the outer query would already
have been resolved when processing the inner query resumes at which point we could simply
reuse the join def from the outer query (this is the same thing as putting the implicit
join in the outer query *before* the subquery, which works). This approach (while simple
in its concept) seems very difficult to acheive with the ANTLR parser.
2) Perform some post processing sort of like we do with the "join post
processing". Yuck!
3) When attempting to resolve the DotNode (representing the implicit join) take a peek at
"child from clauses" to see if any of them defined the same "implicit join
path"; if so "promote" that join fragment from the child FromClause to the
current FromClause.
I will attempt #3.
--
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