db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-1681) Regression (wrong results): Join predicate can be ignored for left-most child in a chain of nested unions.
Date Thu, 17 Aug 2006 22:43:14 GMT
     [ http://issues.apache.org/jira/browse/DERBY-1681?page=all ]

Mike Matrigali updated DERBY-1681:
----------------------------------


committed backport of change from trunk to 10.1:

------------------------------------------------------------------------
r432414 | mikem | 2006-08-17 15:33:59 -0700 (Thu, 17 Aug 2006) | 20 lines

DERBY-1681, submitted by Army Brown

Backporting svn r432367 from trunk into 10.1.

Fixes the following issue:
If Derby chooses to do a join between two FromTables and the right table is a
chain of UNIONs, then the optimizer may choose to push the join predicate (if
provided) down into the UNION and to both children of every UNION in the chain.
But if the predicate cannot be pushed to the children of any of the UNIONs
(except the top-level one) the predicate can end up being ignored altogether
with respect to that UNION's children. The result is that query execution can
return rows that do not satisfy the predicate.

This is a regression introduced in 10.1.2.4 and thus it affects 10.1.3 and 10.2.
I came across this while tracing through code for DERBY-1633.

For more detailed explanation of problem and solution see html doc attached to
DERBY-1681.

> Regression (wrong results): Join predicate can be ignored for left-most child in a chain
of nested unions.
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1681
>                 URL: http://issues.apache.org/jira/browse/DERBY-1681
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.1.3.1, 10.1.3.0, 10.2.0.0
>            Reporter: A B
>         Assigned To: A B
>             Fix For: 10.2.0.0, 10.1.4.0
>
>         Attachments: d1681_test.patch, d1681_v1.patch, DERBY-1681_v1.html
>
>
> If Derby chooses to do a join between two FromTables and the right table is a chain of
UNIONs, then the optimizer may choose to push the join predicate (if provided) down into the
UNION and to both children of every UNION in the chain.  But if the predicate cannot be pushed
to the children of any of the UNIONs (except the top-level one)  the predicate can end up
being ignored altogether with respect to that UNION's children.  The result is that query
execution can return rows that do not satisfy the predicate.
> This is a regression introduced in 10.1.2.4 and thus it affects 10.1.3 and 10.2.  I came
across this while tracing through code for DERBY-1633.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message