[
https://issues.apache.org/jira/browse/SPARK-20013?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Song Jun updated SPARK-20013:
-
Description:
Currently when we create / rename a managed table, we should get the
defaultTablePath for them in ExternalCatalog, then we have two defaultTablePath
logic in its two subclass HiveExternalCatalog and InMemoryCatalog, additionally
there is also a defaultTablePath in SessionCatalog, so till now we have three
defaultTablePath in three classes.
we'd better to unify them up to SessionCatalog
To unify them, we should move some logic from ExternalCatalog to
SessionCatalog, renameTable is one of this.
while limit to the simple parameters in renameTable
{code}
def renameTable(db: String, oldName: String, newName: String): Unit
{code}
even if we move the defaultTablePath logic to SessionCatalog, we can not pass
it to renameTable.
So we can add a newTablePath parameter for renameTable in ExternalCatalog
was:
merge renameTable to alterTable in ExternalCatalog has some reasons:
1. In Hive, we rename a Table by alterTable
2. Currently when we create / rename a managed table, we should get the
defaultTablePath for them in ExternalCatalog, then we have two defaultTablePath
logic in its two subclass HiveExternalCatalog and InMemoryCatalog, additionally
there is also a defaultTablePath in SessionCatalog, so till now we have three
defaultTablePath in three classes.
we'd better to unify them up to SessionCatalog
To unify them, we should move some logic from ExternalCatalog to
SessionCatalog, renameTable is one of this.
while limit to the simple parameters in renameTable
{code}
def renameTable(db: String, oldName: String, newName: String): Unit
{code}
even if we move the defaultTablePath logic to SessionCatalog, we can not pass
it to renameTable.
So we can merge the renameTable to alterTable, and rename it in alterTable.
> merge renameTable to alterTable in ExternalCatalog
> --
>
> Key: SPARK-20013
> URL: https://issues.apache.org/jira/browse/SPARK-20013
> Project: Spark
> Issue Type: Bug
> Components: SQL
>Affects Versions: 2.2.0
>Reporter: Song Jun
>
> Currently when we create / rename a managed table, we should get the
> defaultTablePath for them in ExternalCatalog, then we have two
> defaultTablePath logic in its two subclass HiveExternalCatalog and
> InMemoryCatalog, additionally there is also a defaultTablePath in
> SessionCatalog, so till now we have three defaultTablePath in three classes.
> we'd better to unify them up to SessionCatalog
> To unify them, we should move some logic from ExternalCatalog to
> SessionCatalog, renameTable is one of this.
> while limit to the simple parameters in renameTable
> {code}
> def renameTable(db: String, oldName: String, newName: String): Unit
> {code}
> even if we move the defaultTablePath logic to SessionCatalog, we can not pass
> it to renameTable.
> So we can add a newTablePath parameter for renameTable in ExternalCatalog
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
-
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org