[Hibernate-JIRA] Updated: (HHH-294) implicit join in both subselect and outer query : single join
by Steve Ebersole (JIRA)
[ 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
18 years, 3 months
[Hibernate-JIRA] Updated: (HHH-16) Explicit joins on unrelated classes
by Steve Ebersole (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-16?page=all ]
Steve Ebersole updated HHH-16:
------------------------------
Fix Version: 3.2.2
(was: 3.2.1)
not going to be done for 3.2.1; more than likely this and the requisite translator changes actually will force a 3.3 line...
> Explicit joins on unrelated classes
> -----------------------------------
>
> Key: HHH-16
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-16
> Project: Hibernate3
> Type: New Feature
> Components: core
> Environment: Any
> Reporter: David Lloyd
> Assignee: Steve Ebersole
> Fix For: 3.2.2
>
>
> It would be nice to be able to do explicit joins on unrelated classes with HQL:
> (hope this renders correctly)
> select empl, phone
> from org.example.Employee empl
> left outer join org.example.PhoneBook phone
> on phone.lastName = empl.lastName
> and phone.firstName = empl.firstName
> where empl.salaryGrade > 10
> Note that this would also implicity solve HB-1089 because you could list join criteria that match what Hibernate would have chosen anyway (i.e., list a many-to-one relationship as a criteria explicitly).
> Syntactically this could be disambiguated from the existing join syntax because the token after "join" is a class name rather than a property name.
--
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
18 years, 3 months
[Hibernate-JIRA] Resolved: (HHH-1756) Proxy objects are not removed from the BatchFetchQueue during a session evict
by Steve Ebersole (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1756?page=all ]
Steve Ebersole resolved HHH-1756:
---------------------------------
Resolution: Fixed
applied to trunk and 3.2
> Proxy objects are not removed from the BatchFetchQueue during a session evict
> -----------------------------------------------------------------------------
>
> Key: HHH-1756
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1756
> Project: Hibernate3
> Type: Bug
> Components: core
> Environment: Windows, Sybase, Hibernate Annotations
> Reporter: Vadim Pertsovskiy
> Assignee: Steve Ebersole
> Fix For: 3.2.1
>
>
> When an entity loads, it initializes its children proxies and adds them to the BatchFetchQueue. The next time any of the proxies classes are loaded, hibernate retrieves additional objects rather then just the requested one. This works great, except if the user wants to evict the proxy from the BatchFetchQueue. Hibernate, incorrectly, does not do it. Once a proxy is added to the BatchFetchQueue, it's never removed unless the object is loaded.
> To fix the problem, we've altered the SessionImpl class. During a proxy remove, the proxy is also removed from the BatchFetchQueue.
> public Object removeProxy(EntityKey key) {
> getBatchFetchQueue().removeBatchLoadableEntityKey(key);
> getBatchFetchQueue().removeSubselect(key);
> return proxiesByKey.remove(key);
> }
--
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
18 years, 3 months
[Hibernate-JIRA] Updated: (HHH-1775) collection batch fetching
by Steve Ebersole (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1775?page=all ]
Steve Ebersole updated HHH-1775:
--------------------------------
Fix Version: 3.2.2
(was: 3.2.1)
not going to do this for 3.2.1
> collection batch fetching
> -------------------------
>
> Key: HHH-1775
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1775
> Project: Hibernate3
> Type: Improvement
> Components: core
> Reporter: Steve Ebersole
> Assignee: Steve Ebersole
> Priority: Minor
> Fix For: 3.2.2
>
>
> I have code local on my box to support "peeking" into the second level cache when determining whether to add a particular entity/collection key to a batch load request. If the given key is contained in the second level cache, then do not batch fetch the entity/collection as it will be initialized from second level cache on access.
> However, there are still large inefficiencies when performing this for collections; the biggest of which currently is the fact that we retreive a IdentityMap.entrySet for each and ever call to determine a collectiomn fetch batch. For performance reasons, we should align this with how entity batches are handled where the entity keys considered to be "batch loadable" are tracked seperately on the BatchFetchQueue.
--
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
18 years, 3 months