Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPARK-22141][SQL] Propagate empty relation before checking Cartesian…
… products When inferring constraints from children, Join's condition can be simplified as None. For example, ``` val testRelation = LocalRelation('a.int) val x = testRelation.as("x") val y = testRelation.where($"a" === 2 && !($"a" === 2)).as("y") x.join.where($"x.a" === $"y.a") ``` The plan will become ``` Join Inner :- LocalRelation <empty>, [a#23] +- LocalRelation <empty>, [a#224] ``` And the Cartesian products check will throw exception for above plan. Propagate empty relation before checking Cartesian products, and the issue is resolved. Unit test Author: Wang Gengliang <ltnwgl@gmail.com> Closes apache#19362 from gengliangwang/MoveCheckCartesianProducts.
- Loading branch information