This is an automated email from the ASF dual-hosted git repository.

daijy 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 5f30498  HIVE-21296: Dropping varchar partition throw exception 
(Daniel Dai, reviewed by Anishek Agarwal)
5f30498 is described below

commit 5f3049828ca872d88c80602e2e7d46d9be6255f2
Author: Daniel Dai <dai...@gmail.com>
AuthorDate: Thu Feb 21 10:16:04 2019 -0800

    HIVE-21296: Dropping varchar partition throw exception (Daniel Dai, 
reviewed by Anishek Agarwal)
    
    Signed-off-by: Anishek Agarwal <anis...@gmail.com>
---
 .../java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java |  3 ++-
 ql/src/test/queries/clientpositive/partition_varchar1.q        |  2 ++
 ql/src/test/results/clientpositive/partition_varchar1.q.out    | 10 ++++++++++
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java 
b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java
index eb5b111..9febee4 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeDescUtils.java
@@ -102,7 +102,8 @@ public class ExprNodeDescUtils {
 
   private static boolean isDefaultPartition(ExprNodeDesc origin, String 
defaultPartitionName) {
     if (origin instanceof ExprNodeConstantDesc && 
((ExprNodeConstantDesc)origin).getValue() != null &&
-        
((ExprNodeConstantDesc)origin).getValue().equals(defaultPartitionName)) {
+        ((ExprNodeConstantDesc)origin).getValue() instanceof String && 
((ExprNodeConstantDesc)origin).getValue()
+            .equals(defaultPartitionName)) {
       return true;
     } else {
       return false;
diff --git a/ql/src/test/queries/clientpositive/partition_varchar1.q 
b/ql/src/test/queries/clientpositive/partition_varchar1.q
index 216bcf5..ce9ee76 100644
--- a/ql/src/test/queries/clientpositive/partition_varchar1.q
+++ b/ql/src/test/queries/clientpositive/partition_varchar1.q
@@ -42,4 +42,6 @@ select count(*) from partition_varchar_1 where dt <= 
'2000-01-01' and region = 1
 -- 20
 select count(*) from partition_varchar_1 where dt <> '2000-01-01' and region = 
1;
 
+alter table partition_varchar_1 drop partition (dt = '2000-01-01');
+
 drop table partition_varchar_1;
diff --git a/ql/src/test/results/clientpositive/partition_varchar1.q.out 
b/ql/src/test/results/clientpositive/partition_varchar1.q.out
index 93c9adf..b5d1890 100644
--- a/ql/src/test/results/clientpositive/partition_varchar1.q.out
+++ b/ql/src/test/results/clientpositive/partition_varchar1.q.out
@@ -190,6 +190,16 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@partition_varchar_1
 #### A masked pattern was here ####
 20
+PREHOOK: query: alter table partition_varchar_1 drop partition (dt = 
'2000-01-01')
+PREHOOK: type: ALTERTABLE_DROPPARTS
+PREHOOK: Input: default@partition_varchar_1
+PREHOOK: Output: default@partition_varchar_1@dt=2000-01-01/region=1
+PREHOOK: Output: default@partition_varchar_1@dt=2000-01-01/region=2
+POSTHOOK: query: alter table partition_varchar_1 drop partition (dt = 
'2000-01-01')
+POSTHOOK: type: ALTERTABLE_DROPPARTS
+POSTHOOK: Input: default@partition_varchar_1
+POSTHOOK: Output: default@partition_varchar_1@dt=2000-01-01/region=1
+POSTHOOK: Output: default@partition_varchar_1@dt=2000-01-01/region=2
 PREHOOK: query: drop table partition_varchar_1
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@partition_varchar_1

Reply via email to