spark-instrumented-optimizer/sql/hive
Wenchen Fan 1743d5be7f [SPARK-30284][SQL] CREATE VIEW should keep the current catalog and namespace
### What changes were proposed in this pull request?

Update CREATE VIEW command to store the current catalog and namespace instead of current database in view metadata. Also update analyzer to leverage the catalog and namespace in view metastore to resolve relations inside views.

Note that, this PR still keeps the way we resolve views, by recursively calling Analyzer. This is necessary because view text may contain CTE, window spec, etc. which needs rules outside of the main resolution batch (e.g. `CTESubstitution`)

### Why are the changes needed?

To resolve relations inside view correctly.

### Does this PR introduce any user-facing change?

Yes, fix a bug. Now tables referred by a view can be resolved correctly even if the current catalog/namespace has been updated.

### How was this patch tested?

a new test

Closes #26923 from cloud-fan/view.

Authored-by: Wenchen Fan <wenchen@databricks.com>
Signed-off-by: Wenchen Fan <wenchen@databricks.com>
2020-01-03 01:41:32 +08:00
..
benchmarks [SPARK-29141][SQL][TEST] Use SqlBasedBenchmark in SQL benchmarks 2019-09-18 17:52:23 -07:00
compatibility/src/test/scala/org/apache/spark/sql/hive/execution [SPARK-30098][SQL] Use default datasource as provider for CREATE TABLE syntax 2019-12-07 02:15:25 +08:00
src [SPARK-30284][SQL] CREATE VIEW should keep the current catalog and namespace 2020-01-03 01:41:32 +08:00
pom.xml [INFRA] Reverts commit 56dcd79 and c216ef1 2019-12-16 19:57:44 -07:00