You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ja...@apache.org on 2022/08/06 01:59:07 UTC
[flink] 02/02: [FLINK-27217][hive] Improve default partition test cases
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 <ja...@apache.org>
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 =