[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3684) Sybase - ANSI joins fail if there are 3 or more joins and at least one join involves a union

Gail Badner (JIRA) noreply at atlassian.com
Wed Jan 7 02:38:39 EST 2009


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32061#action_32061 ] 

Gail Badner commented on HHH-3684:
----------------------------------

The error message is:
"Adaptive Server cannot perform the requested action because column 'personId' is not within the scope of the joined table expression."

> Sybase - ANSI joins fail if there are 3 or more joins and at least one join involves a union
> --------------------------------------------------------------------------------------------
>
>                 Key: HHH-3684
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3684
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: core
>            Reporter: Gail Badner
>            Assignee: Gail Badner
>
> Two unit tests fail:
>   UnionSubclassTest.testUnionSubclassFetchMode()..
>   UnionSubclassPropertyRefTest.testOneToOnePropertyRef() 
> This may be due to a bug in Sybase. A similar problem is discussed here:
> http://www.forumtopics.com/busobj/viewtopic.php?p=442226&sid=40bd96248c52fa6193686f4288f19a4c
> For UnionSubclassTest.testUnionSubclassFetchMode(), changing:
> select ...
> from ( select ... from humans 
>             union 
>          select ... from employees ) this_ 
> inner join locations location2_ 
>   on this_.location=location2_.id 
> left outer join ( select ... from employees 
>                          union 
>                       select ... from humans 
>                          union 
>                       select ... from aliens ) beings3_ 
>   on location2_.id=beings3_.location
> :
> to:
> select ...
> from ( select ... from humans 
>             union 
>          select ... from employees ) this_ 
> inner join (locations location2_ 
> left outer join ( select ... from employees 
>                          union 
>                       select ... from humans 
>                          union 
>                       select ... from aliens ) beings3_ 
>   on location2_.id=beings3_.location)
> : on this_.location=location2_.id 
> fixes the problem.
> This change is similar to what is documented for a "right-nested outer join" at  http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc32300.1502/html/sqlug/sqlug170.htm.

-- 
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.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the hibernate-issues mailing list