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(
