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

lzljs3620320 pushed a commit to branch release-0.6
in repository https://gitbox.apache.org/repos/asf/incubator-paimon.git

commit f14e7a45897831480f6317c5897c402d426fa6c1
Author: zhoulii <[email protected]>
AuthorDate: Tue Jan 2 21:34:41 2024 +0800

    [flink] Ignore PartitionNotExistException on drop if exists partition 
statement (#2617)
---
 .../src/main/java/org/apache/paimon/flink/FlinkCatalog.java          | 4 +++-
 .../src/test/java/org/apache/paimon/flink/CatalogTableITCase.java    | 5 +++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkCatalog.java
 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkCatalog.java
index 9a180c678..c0fae0433 100644
--- 
a/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkCatalog.java
+++ 
b/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkCatalog.java
@@ -915,7 +915,9 @@ public class FlinkCatalog extends AbstractCatalog {
             throws PartitionNotExistException, CatalogException {
 
         if (!partitionExists(tablePath, partitionSpec)) {
-            throw new PartitionNotExistException(getName(), tablePath, 
partitionSpec);
+            if (!ignoreIfNotExists) {
+                throw new PartitionNotExistException(getName(), tablePath, 
partitionSpec);
+            }
         }
 
         try {
diff --git 
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java
 
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java
index 234656ee9..5ade8182c 100644
--- 
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java
+++ 
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/CatalogTableITCase.java
@@ -481,6 +481,11 @@ public class CatalogTableITCase extends CatalogITCaseBase {
                 .hasMessage(
                         "Partition CatalogPartitionSpec{{dt=2020-10-10}} of 
table default.PartitionTable in catalog PAIMON does not exist.");
 
+        assertThat(
+                        sql("ALTER TABLE PartitionTable DROP IF EXISTS 
PARTITION (`dt` = '2020-10-10')")
+                                .toString())
+                .isEqualTo("[+I[OK]]");
+
         List<Row> result = sql("SHOW PARTITIONS PartitionTable");
         assertThat(result.toString())
                 .isEqualTo(

Reply via email to