You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Terry Kim (Jira)" <ji...@apache.org> on 2019/12/02 03:54:00 UTC

[jira] [Updated] (SPARK-30094) Current namespace is not used during table resolution

     [ https://issues.apache.org/jira/browse/SPARK-30094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Terry Kim updated SPARK-30094:
------------------------------
    Description: 
The following example shows the scenario where the current namespace is not respected:
{code:java}
sql("CREATE TABLE testcat.t USING foo AS SELECT 1 AS id")
sql("USE testcat")
sql("SHOW CURRENT NAMESPACE").show
+-------+---------+
|catalog|namespace|
+-------+---------+
|testcat|         |
+-------+---------+

// `t` is resolved to `testcat.t`.
sql("DESCRIBE t").show
+---------------+---------+-------+
|       col_name|data_type|comment|
+---------------+---------+-------+
|             id|      int|       |
|               |         |       |
| # Partitioning|         |       |
|Not partitioned|         |       |
+---------------+---------+-------+

// Now create a table under `ns` namespace.
sql("CREATE TABLE testcat.ns.t USING foo AS SELECT 1 AS id")
sql("USE testcat.ns")
sql("SHOW CURRENT NAMESPACE").show
+-------+---------+
|catalog|namespace|
+-------+---------+
|testcat|       ns|
+-------+---------+

// `t` is not resolved any longer since the current namespace `ns` is not used.
sql("DESCRIBE t").show
org.apache.spark.sql.AnalysisException: Invalid command: 't' is a view not a table.; line 1 pos 0;
'DescribeTable 'UnresolvedV2Relation [t], org.apache.spark.sql.connector.InMemoryTableCatalog@2c5ead80, `t`, false

{code}

  was:
The following example shows the scenario where the current namespace is not respected:
{code:java}
sql("CREATE TEMPORARY VIEW t AS SELECT 2 AS i");
sql("CREATE TABLE testcat.t USING foo AS SELECT 1 AS id")
sql("USE testcat")
sql("SHOW CURRENT NAMESPACE").show
+-------+---------+
|catalog|namespace|
+-------+---------+
|testcat|         |
+-------+---------+

// `t` is resolved to `testcat.t`.
sql("DESCRIBE t").show
+---------------+---------+-------+
|       col_name|data_type|comment|
+---------------+---------+-------+
|             id|      int|       |
|               |         |       |
| # Partitioning|         |       |
|Not partitioned|         |       |
+---------------+---------+-------+

// Now create a table under `ns` namespace.
sql("CREATE TABLE testcat.ns.t USING foo AS SELECT 1 AS id")
sql("USE testcat.ns")
sql("SHOW CURRENT NAMESPACE").show
+-------+---------+
|catalog|namespace|
+-------+---------+
|testcat|       ns|
+-------+---------+

// `t` is not resolved any longer since the current namespace `ns` is not used.
sql("DESCRIBE t").show
org.apache.spark.sql.AnalysisException: Invalid command: 't' is a view not a table.; line 1 pos 0;
'DescribeTable 'UnresolvedV2Relation [t], org.apache.spark.sql.connector.InMemoryTableCatalog@2c5ead80, `t`, false

{code}


> Current namespace is not used during table resolution
> -----------------------------------------------------
>
>                 Key: SPARK-30094
>                 URL: https://issues.apache.org/jira/browse/SPARK-30094
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 3.0.0
>            Reporter: Terry Kim
>            Priority: Major
>
> The following example shows the scenario where the current namespace is not respected:
> {code:java}
> sql("CREATE TABLE testcat.t USING foo AS SELECT 1 AS id")
> sql("USE testcat")
> sql("SHOW CURRENT NAMESPACE").show
> +-------+---------+
> |catalog|namespace|
> +-------+---------+
> |testcat|         |
> +-------+---------+
> // `t` is resolved to `testcat.t`.
> sql("DESCRIBE t").show
> +---------------+---------+-------+
> |       col_name|data_type|comment|
> +---------------+---------+-------+
> |             id|      int|       |
> |               |         |       |
> | # Partitioning|         |       |
> |Not partitioned|         |       |
> +---------------+---------+-------+
> // Now create a table under `ns` namespace.
> sql("CREATE TABLE testcat.ns.t USING foo AS SELECT 1 AS id")
> sql("USE testcat.ns")
> sql("SHOW CURRENT NAMESPACE").show
> +-------+---------+
> |catalog|namespace|
> +-------+---------+
> |testcat|       ns|
> +-------+---------+
> // `t` is not resolved any longer since the current namespace `ns` is not used.
> sql("DESCRIBE t").show
> org.apache.spark.sql.AnalysisException: Invalid command: 't' is a view not a table.; line 1 pos 0;
> 'DescribeTable 'UnresolvedV2Relation [t], org.apache.spark.sql.connector.InMemoryTableCatalog@2c5ead80, `t`, false
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org