ngsg commented on code in PR #5771:
URL: https://github.com/apache/hive/pull/5771#discussion_r2160733697


##########
ql/src/java/org/apache/hadoop/hive/ql/metadata/SessionHiveMetaStoreClient.java:
##########
@@ -142,2416 +40,28 @@
  * so the readers of the objects in these maps should have the most recent 
view of the object.
  * But again, could be fragile.
  */
-public class SessionHiveMetaStoreClient extends 
HiveMetaStoreClientWithLocalCache implements IMetaStoreClient {
-  private static final Logger LOG = 
LoggerFactory.getLogger(SessionHiveMetaStoreClient.class);
-
+public class SessionHiveMetaStoreClient extends BaseMetaStoreClientProxy 
implements IMetaStoreClient {
   SessionHiveMetaStoreClient(Configuration conf, Boolean allowEmbedded) throws 
MetaException {
-    super(conf, null, allowEmbedded);
+    super(createUnderlyingClient(conf, null, allowEmbedded));
   }
 
   SessionHiveMetaStoreClient(
       Configuration conf, HiveMetaHookLoader hookLoader, Boolean 
allowEmbedded) throws MetaException {
-    super(conf, hookLoader, allowEmbedded);
-  }
-
-  private Warehouse wh = null;
-
-  private Warehouse getWh() throws MetaException {
-    if (wh == null) {
-      wh = new Warehouse(conf);
-    }
-    return wh;
-  }
-
-  @Override
-  protected void create_table(CreateTableRequest request) throws TException {
-    org.apache.hadoop.hive.metastore.api.Table tbl = request.getTable();
-    if (tbl.isTemporary()) {
-      createTempTable(tbl);
-      return;
-    }
-    super.create_table(request);
-  }
-
-  @Override
-  protected void drop_table_with_environment_context(String catName, String 
dbname, String name,
-      boolean deleteData, EnvironmentContext envContext) throws TException, 
UnsupportedOperationException {
-    // First try temp table
-    // TODO CAT - I think the right thing here is to always put temp tables in 
the current
-    // catalog.  But we don't yet have a notion of current catalog, so we'll 
have to hold on
-    // until we do.
-    org.apache.hadoop.hive.metastore.api.Table table = getTempTable(dbname, 
name);
-    if (table != null) {
-      try {
-        deleteTempTableColumnStatsForTable(dbname, name);
-      } catch (NoSuchObjectException err){
-        // No stats to delete, forgivable error.
-        LOG.info(err.getMessage());
-      }
-      dropTempTable(table, deleteData, envContext);
-      return;
-    }
-
-    // Try underlying client
-    super.drop_table_with_environment_context(catName, dbname,  name, 
deleteData, envContext);
-  }
-
-  @Override
-  public void truncateTable(String dbName, String tableName, List<String> 
partNames) throws TException {
-    // First try temp table
-    org.apache.hadoop.hive.metastore.api.Table table = getTempTable(dbName, 
tableName);
-    if (table != null) {
-      truncateTempTable(table);
-      return;
-    }
-    // Try underlying client
-    super.truncateTable(dbName, tableName, partNames);
-  }
-
-  @Override
-  public void truncateTable(TableName tableName, List<String> partNames) 
throws TException {
-    // First try temp table
-    org.apache.hadoop.hive.metastore.api.Table table = 
getTempTable(tableName.getDb(), tableName.getTable());
-    if (table != null) {
-      truncateTempTable(table);
-      return;
-    }
-    // Try underlying client
-    super.truncateTable(tableName, partNames);
-  }
-
-  @Override
-  public void truncateTable(String dbName, String tableName,

Review Comment:
   No, the goal of this PR is to make each MetaStoreClient feature composable. 
Therefore, `SessionHiveMetaStoreClient` should be just a composition of feature 
layers, and all actual implementations of `IMetaStoreClient` should be removed 
from here.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org
For additional commands, e-mail: gitbox-h...@hive.apache.org

Reply via email to