This is an automated email from the ASF dual-hosted git repository. pvary pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push: new b408300 HIVE-22741: Speed up ObjectStore method getTableMeta (Zoltan Chovan via Peter Vary) b408300 is described below commit b408300a6a6cb3254f8dcc355ded2c487b51e2e8 Author: Zoltan Chovan <zcho...@cloudera.com> AuthorDate: Tue Jan 21 14:07:29 2020 +0100 HIVE-22741: Speed up ObjectStore method getTableMeta (Zoltan Chovan via Peter Vary) --- .../java/org/apache/hadoop/hive/metastore/ObjectStore.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java index 40a5eb4..a1592cd 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java @@ -1545,13 +1545,15 @@ public class ObjectStore implements RawStore, Configurable { // performance of this function when called with dbNames="*" and tableNames="*" (fetch all // tables in all databases, essentially a full dump) pm.getFetchPlan().addGroup(FetchGroups.FETCH_DATABASE_ON_MTABLE); - query = pm.newQuery(MTable.class, filterBuilder.toString()); - Collection<MTable> tables = (Collection<MTable>) query.executeWithArray(parameterVals.toArray(new String[0])); - for (MTable table : tables) { - TableMeta metaData = new TableMeta( - table.getDatabase().getName(), table.getTableName(), table.getTableType()); + query = pm.newQuery(MTable.class, filterBuilder.toString()) ; + query.setResult("database.name, tableName, tableType, parameters.get(\"comment\")"); + List<Object[]> tables = (List<Object[]>) query.executeWithArray(parameterVals.toArray(new String[0])); + for (Object[] table : tables) { + TableMeta metaData = new TableMeta(table[0].toString(), table[1].toString(), table[2].toString()); metaData.setCatName(catName); - metaData.setComments(table.getParameters().get("comment")); + if (table[3] != null) { + metaData.setComments(table[3].toString()); + } metas.add(metaData); } commited = commitTransaction();