diff options
author | Herman van Hovell <hvanhovell@databricks.com> | 2016-11-15 06:59:25 -0800 |
---|---|---|
committer | gatorsmile <gatorsmile@gmail.com> | 2016-11-15 06:59:25 -0800 |
commit | f14ae4900ad0ed66ba36108b7792d56cd6767a69 (patch) | |
tree | cb078120aadb305c7c2f6d5210eafb199aca06a3 /sql/hive-thriftserver | |
parent | 33be4da5391b884191c405ffbce7d382ea8a2f66 (diff) | |
download | spark-f14ae4900ad0ed66ba36108b7792d56cd6767a69.tar.gz spark-f14ae4900ad0ed66ba36108b7792d56cd6767a69.tar.bz2 spark-f14ae4900ad0ed66ba36108b7792d56cd6767a69.zip |
[SPARK-18300][SQL] Do not apply foldable propagation with expand as a child.
## What changes were proposed in this pull request?
The `FoldablePropagation` optimizer rule, pulls foldable values out from under an `Expand`. This breaks the `Expand` in two ways:
- It rewrites the output attributes of the `Expand`. We explicitly define output attributes for `Expand`, these are (unfortunately) considered as part of the expressions of the `Expand` and can be rewritten.
- Expand can actually change the column (it will typically re-use the attributes or the underlying plan). This means that we cannot safely propagate the expressions from under an `Expand`.
This PR fixes this and (hopefully) other issues by explicitly whitelisting allowed operators.
## How was this patch tested?
Added tests to `FoldablePropagationSuite` and to `SQLQueryTestSuite`.
Author: Herman van Hovell <hvanhovell@databricks.com>
Closes #15857 from hvanhovell/SPARK-18300.
Diffstat (limited to 'sql/hive-thriftserver')
0 files changed, 0 insertions, 0 deletions