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 3c9ea5d HIVE-25841: Improve performance of deleteColumnStatsState
(Peter Vary reviewed by Zoltan Haindrich) (#2914)
3c9ea5d is described below
commit 3c9ea5d8d6ecc0d3749e22b28bfb7690dd3f1be1
Author: pvary <[email protected]>
AuthorDate: Wed Jan 5 13:49:21 2022 +0100
HIVE-25841: Improve performance of deleteColumnStatsState (Peter Vary
reviewed by Zoltan Haindrich) (#2914)
---
.../hadoop/hive/metastore/MetaStoreDirectSql.java | 24 +++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java
index b200608..d24128c 100644
---
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java
+++
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java
@@ -2952,14 +2952,28 @@ class MetaStoreDirectSql {
}
public void deleteColumnStatsState(long tbl_id) throws MetaException {
- // @formatter:off
- String queryText = ""
- + "delete from " + PARTITION_PARAMS + " "
- + " where "
+ String queryText;
+ switch (dbType.dbType) {
+ case MYSQL:
+ // @formatter:off
+ queryText = ""
+ + "delete pp from " + PARTITION_PARAMS + " pp, " + PARTITIONS + "
p"
+ + " where"
+ + " p.\"PART_ID\" = pp.\"PART_ID\" AND"
+ + " p.\"TBL_ID\" = " + tbl_id
+ + " and \"PARAM_KEY\" = '"+StatsSetupConst.COLUMN_STATS_ACCURATE
+ "'";
+ // @formatter:on
+ break;
+ default:
+ // @formatter:off
+ queryText = ""
+ + "delete from " + PARTITION_PARAMS
+ + " where"
+ " \"PART_ID\" in (select p.\"PART_ID\" from " + PARTITIONS +
" p where"
+ " p.\"TBL_ID\" = " + tbl_id + ")"
+ " and \"PARAM_KEY\" = '"+StatsSetupConst.COLUMN_STATS_ACCURATE
+ "'";
- // @formatter:on
+ // @formatter:on
+ }
try {
executeNoResult(queryText);