This is an automated email from the ASF dual-hosted git repository. jark pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/flink.git
commit 01d31f6ed30d2f1ed37eaaad705797e0a46c68f4 Author: Jark Wu <[email protected]> AuthorDate: Fri Aug 5 20:31:16 2022 +0800 [FLINK-27217][hive] Improve default partition test cases This closes #19450 --- .../flink/connectors/hive/HiveDialectITCase.java | 24 ++++++++++++---------- .../connectors/hive/HiveTableSourceITCase.java | 2 +- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectITCase.java b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectITCase.java index f3975885f23..0285fc3a4c7 100644 --- a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectITCase.java +++ b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectITCase.java @@ -971,27 +971,29 @@ public class HiveDialectITCase { .collect()); assertThat(partitions).hasSize(1); assertThat(partitions.toString()).contains("dt=2020-04-30 01:02:03/country=china"); + + // set a deterministic default partition name + tableEnv.executeSql("set hiveconf:hive.exec.default.partition.name=_DEFAULT_"); // show partitions for the table containing default partition tableEnv.executeSql("create table tb1 (a string) partitioned by (c int)"); tableEnv.executeSql( "INSERT OVERWRITE TABLE tb1 PARTITION (c) values ('Col1', null), ('Col1', 5)") .await(); - String defaultPartitionName = - hiveCatalog.getHiveConf().getVar(HiveConf.ConfVars.DEFAULTPARTITIONNAME); - + // show partitions should include the null partition partitions = CollectionUtil.iteratorToList(tableEnv.executeSql("show partitions tb1").collect()); - assertThat(partitions.toString()) - .isEqualTo(String.format("[+I[c=5], +I[c=%s]]", defaultPartitionName)); + assertThat(partitions.toString()).isEqualTo("[+I[c=5], +I[c=_DEFAULT_]]"); + // show specific null partition partitions = CollectionUtil.iteratorToList( - tableEnv.executeSql( - String.format( - "show partitions tb1 partition (c='%s')", - defaultPartitionName)) + tableEnv.executeSql("show partitions tb1 partition (c='_DEFAULT_')") .collect()); - assertThat(partitions.toString()) - .isEqualTo(String.format("[+I[c=%s]]", defaultPartitionName)); + assertThat(partitions.toString()).isEqualTo("[+I[c=_DEFAULT_]]"); + // drop null partition should also work + tableEnv.executeSql("ALTER TABLE tb1 DROP PARTITION (c='_DEFAULT_')"); + partitions = + CollectionUtil.iteratorToList(tableEnv.executeSql("show partitions tb1").collect()); + assertThat(partitions.toString()).isEqualTo("[+I[c=5]]"); } @Test diff --git a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveTableSourceITCase.java b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveTableSourceITCase.java index dc98c4743f0..31ee7de2113 100644 --- a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveTableSourceITCase.java +++ b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveTableSourceITCase.java @@ -226,7 +226,7 @@ public class HiveTableSourceITCase extends BatchAbstractTestBase { .executeSql( "insert into source_db.test_table_pt_1 values ('2014', 1, null), ('2015', 2, null)") .await(); - // currently, the expression "is null" is supported HiveCatalog#listPartitionsByFilter, + // currently, the expression "is null" is not supported HiveCatalog#listPartitionsByFilter, // then the planer will list all partitions and then prue the partitions. // the test is to cover such case src =
