lirui-apache commented on a change in pull request #13017:
URL: https://github.com/apache/flink/pull/13017#discussion_r466352146
##########
File path:
flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/connectors/hive/HiveDialectITCase.java
##########
@@ -465,6 +465,49 @@ public void testAddDropPartitions() throws Exception {
assertEquals(1, hiveCatalog.listPartitions(tablePath).size());
}
+ @Test
+ public void testShowPartitions() throws Exception {
+ tableEnv.executeSql("create table tbl (x int,y binary)
partitioned by (dt date,country string)");
+ tableEnv.executeSql("alter table tbl add partition
(dt='2020-04-30',country='china') partition (dt='2020-04-30',country='us')");
+
+ ObjectPath tablePath = new ObjectPath("default", "tbl");
+ assertEquals(2, hiveCatalog.listPartitions(tablePath).size());
+
+ List<Row> partitions =
Lists.newArrayList(tableEnv.executeSql("show partitions tbl").collect());
+ assertEquals(2, partitions.size());
+
assertTrue(partitions.toString().contains("dt=2020-04-30/country=china"));
+
assertTrue(partitions.toString().contains("dt=2020-04-30/country=us"));
+ partitions = Lists.newArrayList(tableEnv.executeSql("show
partitions tbl partition (dt='2020-04-30')").collect());
+ assertEquals(2, partitions.size());
+
assertTrue(partitions.toString().contains("dt=2020-04-30/country=china"));
+
assertTrue(partitions.toString().contains("dt=2020-04-30/country=us"));
+ partitions = Lists.newArrayList(tableEnv.executeSql("show
partitions tbl partition (dt='2020-04-30',country='china')").collect());
+ assertEquals(1, partitions.size());
+
assertTrue(partitions.toString().contains("dt=2020-04-30/country=china"));
+
+ tableEnv.executeSql("alter table tbl drop partition
(dt='2020-04-30',country='china'),partition (dt='2020-04-30',country='us')");
+ assertEquals(0, hiveCatalog.listPartitions(tablePath).size());
+
+ tableEnv.executeSql("alter table tbl add partition
(dt='2020-04-30 01:02:03',country='china') partition (dt='2020-04-30
04:05:06',country='us')");
+
+ partitions = Lists.newArrayList(tableEnv.executeSql("show
partitions tbl").collect());
+ assertEquals(2, partitions.size());
+ assertTrue(partitions.toString().contains("dt=2020-04-30
01:02:03/country=china"));
+ assertTrue(partitions.toString().contains("dt=2020-04-30
04:05:06/country=us"));
+ partitions = Lists.newArrayList(tableEnv.executeSql("show
partitions tbl partition (dt='2020-04-30 01:02:03')").collect());
+ assertEquals(1, partitions.size());
+ assertTrue(partitions.toString().contains("dt=2020-04-30
01:02:03/country=china"));
+ partitions = Lists.newArrayList(tableEnv.executeSql("show
partitions tbl partition (dt='2020-04-30 04:05:06')").collect());
+ assertEquals(1, partitions.size());
+ assertTrue(partitions.toString().contains("dt=2020-04-30
04:05:06/country=us"));
+ partitions = Lists.newArrayList(tableEnv.executeSql("show
partitions tbl partition (dt='2020-04-30
01:02:03',country='china')").collect());
+ assertEquals(1, partitions.size());
+ assertTrue(partitions.toString().contains("dt=2020-04-30
01:02:03/country=china"));
+
+ tableEnv.executeSql("alter table tbl drop partition
(dt='2020-04-30 01:02:03',country='china'),partition (dt='2020-04-30
04:05:06',country='us')");
+ assertEquals(1, hiveCatalog.listPartitions(tablePath).size());
Review comment:
I don't think this is necessary. We're not testing add/drop partitions
here.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]