GitHub user maryannxue opened a pull request:

    https://github.com/apache/spark/pull/20805

    SPARK-21479 Outer join filter pushdown in null supplying table when 
condition is on one of the joined columns

    ## What changes were proposed in this pull request?
    
    In left/right outer joins, constraints derived from the preserved side can 
be propagated to the null-supplying side (not the other way around). Meanwhile, 
we do not want to include the join condition in the constraints set since this 
is an outer join and otherwise is-not-null constraints would be inferred 
incorrectly.
    
    1. Add method QueryPlanConstraints#additionalValidConstraintsForInference 
to accommodate this requirement from the Join operator.
    2. Override QueryPlanConstraints#additionalValidConstraintsForInference in 
the Join operator.
    
    ## How was this patch tested?
    
    1. Added 3 new tests in InferFiltersFromConstraintsSuite.
    2. Updated 1 test reference in ConstraintsSuitePropagationSuite.


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

    $ git pull https://github.com/maryannxue/spark spark-21479

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

    https://github.com/apache/spark/pull/20805.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 #20805
    
----
commit deb4719ee26494c4c097083a8b4079908a0d44c8
Author: maryannxue <maryann.xue@...>
Date:   2018-03-12T21:06:27Z

    SPARK-21479 Outer join filter pushdown in null supplying table when 
condition is on one of the joined columns

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to