From ab5b301c40d2c28363fedfffc47d4c0458f621ff Mon Sep 17 00:00:00 2001 From: Ashutosh Chauhan Date: Fri, 18 Nov 2016 15:37:40 -0800 Subject: [PATCH] HIVE-15247 : Pass the purge option for drop table to storage handlers --- .../java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java index 2f59054..823827d 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java @@ -319,6 +319,7 @@ public void alter_table(String dbname, String tbl_name, Table new_tbl) alter_table_with_environmentContext(dbname, tbl_name, new_tbl, null); } + @Override public void alter_table_with_environmentContext(String dbname, String tbl_name, Table new_tbl, EnvironmentContext envContext) throws InvalidOperationException, MetaException, TException { client.alter_table_with_environment_context(dbname, tbl_name, new_tbl, envContext); @@ -490,6 +491,7 @@ private void snapshotActiveConf() { } } + @Override public String getTokenStrForm() throws IOException { return tokenStrForm; } @@ -1037,7 +1039,7 @@ public void dropTable(String dbname, String name, boolean deleteData, try { drop_table_with_environment_context(dbname, name, deleteData, envContext); if (hook != null) { - hook.commitDropTable(tbl, deleteData); + hook.commitDropTable(tbl, deleteData || (envContext != null && "TRUE".equals(envContext.getProperties().get("ifPurge")))); } success=true; } catch (NoSuchObjectException e) { @@ -1439,6 +1441,7 @@ public boolean tableExists(String tableName) throws MetaException, * @throws NoSuchObjectException * @throws TException */ + @Override public int getNumPartitionsByFilter(String db_name, String tbl_name, String filter) throws MetaException, NoSuchObjectException, TException { @@ -2163,7 +2166,7 @@ public ShowCompactResponse showCompactions() throws TException { public void addDynamicPartitions(long txnId, String dbName, String tableName, List partNames) throws TException { client.add_dynamic_partitions(new AddDynamicPartitions(txnId, dbName, tableName, partNames)); - } + } @Override public void addDynamicPartitions(long txnId, String dbName, String tableName, List partNames, DataOperationType operationType) throws TException { -- 1.7.12.4 (Apple Git-37)