- Chaoyu
----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/38429/#review99307 ----------------------------------------------------------- On Sept. 17, 2015, 5:35 p.m., Chaoyu Tang wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/38429/ > ----------------------------------------------------------- > > (Updated Sept. 17, 2015, 5:35 p.m.) > > > Review request for hive, Ashutosh Chauhan, Sergey Shelukhin, and Xuefu Zhang. > > > Bugs: HIVE-11786 > https://issues.apache.org/jira/browse/HIVE-11786 > > > Repository: hive-git > > > Description > ------- > > The stats tables such as TAB_COL_STATS, PART_COL_STATS have redundant columns > such as DB_NAME, TABLE_NAME, PARTITION_NAME since these tables already have > foreign key like TBL_ID, or PART_ID referencing to TBLS or PARTITIONS. But > these columns are currently used in fetching column stats (e.g. > getTableStats/getPartitionStats) so any Hive operation involved in > db/table/partition name change has to update these columnn, which is not > necessary and sometimes quite difficult in implementation given the > limitations from DN and RawStore APIs. > This patch is to remove the use of these redundant columns at HMS code level. > The changes include: > 1. Instead of directly using these columns in TAB_COL_STATS, PART_COL_STATS, > use these in their referenced tables. > 2. currently the CBO code assumes that the column stats returned from HMS are > in the same order as that passed in column request. It is not gurantteed and > has been changed. > 3. The deprecated redundant columns are now temorarily populated with value > "Deprecated". They will be removed in a followed up JIRA. > > > Diffs > ----- > > metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java > 1f89b7c > metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java > 4d6bfcc > > metastore/src/java/org/apache/hadoop/hive/metastore/StatObjectConverter.java > b3ceff1 > > metastore/src/java/org/apache/hadoop/hive/metastore/txn/CompactionTxnHandler.java > 328a65c > > metastore/src/model/org/apache/hadoop/hive/metastore/model/MPartitionColumnStatistics.java > 2967a60 > > metastore/src/model/org/apache/hadoop/hive/metastore/model/MTableColumnStatistics.java > 132f7a1 > > metastore/src/test/org/apache/hadoop/hive/metastore/VerifyingObjectStore.java > 7e46523 > > ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/RelOptHiveTable.java > 6c0bd25 > > Diff: https://reviews.apache.org/r/38429/diff/ > > > Testing > ------- > > 1. Manually tested some cases against MySQL/PostgreSQL/Oracle. > 2. Is running precommit test. > > > Thanks, > > Chaoyu Tang > >