GitHub user laurentgo opened a pull request:

    https://github.com/apache/drill/pull/404

    DRILL-4334: Fix ProjectPushInfo#desiredFields order when using 
PrelUtil#getColumns

    Order of ProjectPushInfo#desiredFields elements is not the same as the list 
of
    RexNode elements they are derived from. This might cause some optimization 
to
    be skipped in DrillPushProjIntoScan as the 
ProjectRemoveRule.isTrivial(newProj)
    check might fail simply because of the ordering mismatch.
    
    The visitor created to visit the original RexNode elements now uses a
    LinkedHashSet to guarantee that the ordering stays the same as the order
    of the RexNode instances they are derived from.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/laurentgo/drill 
laurent/DRILL-4467-fix-PrelUtil-desiredFields-ordering

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/drill/pull/404.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #404
    
----
commit 4da0306fe7b3847c9c6b2633fd95afd4b6830386
Author: Laurent Goujon <[email protected]>
Date:   2016-03-02T22:25:09Z

    DRILL-4334: Fix ProjectPushInfo#desiredFields order when using 
PrelUtil#getColumns
    
    Order of ProjectPushInfo#desiredFields elements is not the same as the list 
of
    RexNode elements they are derived from. This might cause some optimization 
to
    be skipped in DrillPushProjIntoScan as the 
ProjectRemoveRule.isTrivial(newProj)
    check might fail simply because of the ordering mismatch.
    
    The visitor created to visit the original RexNode elements now uses a
    LinkedHashSet to guarantee that the ordering stays the same as the order
    of the RexNode instances they are derived from.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to