spark-instrumented-optimizer/sql/catalyst/src/main
wangzhenhua c083b6b7de [SPARK-19915][SQL] Exclude cartesian product candidates to reduce the search space
## What changes were proposed in this pull request?

We have some concerns about removing size in the cost model [in the previous pr](https://github.com/apache/spark/pull/17240). It's a tradeoff between code structure and algorithm completeness. I tend to keep the size and thus create this new pr without changing cost model.

What this pr does:
1. We only consider consecutive inner joinable items, thus excluding cartesian products in reordering procedure. This significantly reduces the search space and memory overhead of memo. Otherwise every combination of items will exist in the memo.
2. This pr also includes a bug fix: if a leaf item is a project(_, child), current solution will miss the project.

## How was this patch tested?

Added test cases.

Author: wangzhenhua <wangzhenhua@huawei.com>

Closes #17286 from wzhfy/joinReorder3.
2017-03-18 14:07:25 +08:00
..
antlr4/org/apache/spark/sql/catalyst/parser [SPARK-19850][SQL] Allow the use of aliases in SQL function calls 2017-03-14 12:49:30 +01:00
java/org/apache/spark/sql [MINOR][BUILD] Fix lint-java breaks in Java 2017-02-27 08:44:26 +00:00
scala/org/apache/spark/sql [SPARK-19915][SQL] Exclude cartesian product candidates to reduce the search space 2017-03-18 14:07:25 +08:00