[ 
https://issues.apache.org/jira/browse/DERBY-2526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12487553
 ] 

Bryan Pendleton commented on DERBY-2526:
----------------------------------------

Note that in the "good" case, the code also mixes join-table-based column 
numbers
and base-table-based column numbers, but since the columns in the view are
in a different order, it doesn't accidentally see a match where the other case 
did.
That is, when the "good" case is being examined in 
PredicateList.joinClauseTransitiveClosure,
it sees 
    b3.c8 = bvw.c5
and
   bvw.c1 = b4.c7
but in this case the ColumnReference for bvw.c1 is 6, because it was drawn from
the 9-element ResultColumnList: 
[b3.c8,b3.c9,b3.c5,b3.c6,bvw.c5,bvw.c1,bvw.c2,bvw.c3,bvw.c4]

So the transitive closure code does not think that bvw.c5 and bvw.c1 refer to 
the same
column, and thus does not "close" the two predicates together.


> Wrong query results due to column ordering in UNION view
> --------------------------------------------------------
>
>                 Key: DERBY-2526
>                 URL: https://issues.apache.org/jira/browse/DERBY-2526
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.0.2.1, 10.1.3.1, 10.2.2.0, 10.3.0.0
>            Reporter: Bryan Pendleton
>         Assigned To: Bryan Pendleton
>         Attachments: badQuery.log, derby-2526.sql, goodQuery.log
>
>
> I think both select statements in the attached repro script should return 1 
> row, but in fact the first statement returns 1 row and the second returns 
> zero rows.
> The only difference between the two statements is that the columns in the 
> UNION view are listed in a different order (bvw vs. bvw2).
> This seems like a bug to me; the order of the columns in the view definition 
> shouldn't matter, should it? 
> As Army noted on the derby-dev list, the fact that this reproduces with 10.0 
> means that it is not caused by some of the 10.2 optimizer changes. Something 
> else is going wrong.

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

Reply via email to