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

sankarh pushed a commit to branch branch-3
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/branch-3 by this push:
     new 26db0dcf940 HIVE-27572: Backport of HIVE-21296: Dropping varchar 
partition throw exception (Daniel Dai, reviewed by Anishek Agarwal)
26db0dcf940 is described below

commit 26db0dcf94090074a05dd3cb48ac2802b678ff62
Author: Shefali Singh <31477542+shefali...@users.noreply.github.com>
AuthorDate: Mon Aug 21 11:38:39 2023 +0530

    HIVE-27572: Backport of HIVE-21296: Dropping varchar partition throw 
exception (Daniel Dai, reviewed by Anishek Agarwal)
    
    Signed-off-by: Sankar Hariappan <sank...@apache.org>
    Closes (#4555)
---
 .../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 a87fa27e904..ed84ff20641 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
@@ -96,7 +96,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 dd991fd96f8..17e8357d386 100644
--- a/ql/src/test/queries/clientpositive/partition_varchar1.q
+++ b/ql/src/test/queries/clientpositive/partition_varchar1.q
@@ -41,4 +41,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 93c9adfcc29..b5d1890018a 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