You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2018/09/07 17:55:33 UTC
hive git commit: HIVE-20080 : TxnHandler checkLock direct sql fail
with ORA-01795 ,
if the table has more than 1000 partitions (Rajkumar Singh via Ashutosh
Chauhan)
Repository: hive
Updated Branches:
refs/heads/branch-2 8b16ad0f5 -> 854b9afce
HIVE-20080 : TxnHandler checkLock direct sql fail with ORA-01795 , if the table has more than 1000 partitions (Rajkumar Singh via Ashutosh Chauhan)
Signed-off-by: Ashutosh Chauhan <ha...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/854b9afc
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/854b9afc
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/854b9afc
Branch: refs/heads/branch-2
Commit: 854b9afce849e3e89e81486188828a9214f82739
Parents: 8b16ad0
Author: Rajkumar Singh <ra...@hortonworks.com>
Authored: Fri Sep 7 10:54:50 2018 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Fri Sep 7 10:54:50 2018 -0700
----------------------------------------------------------------------
.../hadoop/hive/metastore/txn/TxnHandler.java | 18 ++++++++++--------
.../hadoop/hive/metastore/txn/TxnUtils.java | 4 ++--
2 files changed, 12 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/854b9afc/metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java b/metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java
index 0e8253b..b78720a 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java
@@ -2587,16 +2587,18 @@ abstract class TxnHandler implements TxnStore, TxnStore.MutexAPI {
}
}
if (!sawNull) {
- query.append(" and (hl_partition is null or hl_partition in(");
- first = true;
+ List<String> queries = new ArrayList<String>();
+ StringBuilder prefix = new StringBuilder();
+ StringBuilder suffix = new StringBuilder();
+ prefix.append(" and ( hl_partition is null or ");
+
+ suffix.append(" )");
+ List<String> partList = new ArrayList<>();
for (String s : strings) {
- if (first) first = false;
- else query.append(", ");
- query.append('\'');
- query.append(s);
- query.append('\'');
+ partList.add(quoteString(s));
}
- query.append("))");
+ TxnUtils.buildQueryWithINClause(conf, queries, prefix, suffix, partList, "hl_partition", true, false);
+ query.append(queries.get(0));
}
}
query.append(" and hl_lock_ext_id <= ").append(extLockId);
http://git-wip-us.apache.org/repos/asf/hive/blob/854b9afc/metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnUtils.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnUtils.java b/metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnUtils.java
index 517eec3..1a243ed 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnUtils.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/txn/TxnUtils.java
@@ -142,8 +142,8 @@ public class TxnUtils {
* e.g. ( id in (1,2,3) OR id in (4,5,6) )
* @param notIn clause to be broken up is NOT IN
*/
- public static void buildQueryWithINClause(HiveConf conf, List<String> queries, StringBuilder prefix,
- StringBuilder suffix, List<Long> inList,
+ public static <T> void buildQueryWithINClause(HiveConf conf, List<String> queries, StringBuilder prefix,
+ StringBuilder suffix, List<T> inList,
String inColumn, boolean addParens, boolean notIn) {
if (inList == null || inList.size() == 0) {
throw new IllegalArgumentException("The IN list is empty!");