[ https://issues.apache.org/jira/browse/FLINK-37941?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17987151#comment-17987151 ]
Xuyang Zhong edited comment on FLINK-37941 at 7/3/25 7:14 AM: -------------------------------------------------------------- I think the effective matrix should be as follows: ||partitions exist on old table||partitions exist on new table||merge strategy||merge result || |yes |yes |INCLUDING |if partitions on new table are same as those on the old table, use them; else an error will be thrown. | |yes |no |INCLUDING |partitions on old table | |no |yes |INCLUDING |partitions on new table | |no |no |INCLUDING |none | |yes |yes |EXCLUDING |partitions on new table | |yes |no |EXCLUDING |none | |no |yes |EXCLUDING |partitions on new table | |no |no |EXCLUDING |none | was (Author: xuyangzhong): I think the effective matrix should be as follows: || partitions exist on old table || partitions exist on new table || merge strategy || merge result || | yes | yes | INCLUDING | ERROR | | yes | no | INCLUDING | partitions on old table | | no | yes | INCLUDING | partitions on new table | | no | no | INCLUDING | none | | yes | yes | EXCLUDING | partitions on new table | | yes | no | EXCLUDING | none | | no | yes | EXCLUDING | partitions on new table | | no | no | EXCLUDING | none | > EXCLUDING PARTITIONS doesn't work when using CREATE TABLE LIKE > -------------------------------------------------------------- > > Key: FLINK-37941 > URL: https://issues.apache.org/jira/browse/FLINK-37941 > Project: Flink > Issue Type: Bug > Components: Table SQL / Planner > Affects Versions: 2.0.0, 1.20.1 > Reporter: Xuyang Zhong > Priority: Major > > The following test can reproduce this bug: > > {code:java} > @Test > def test(): Unit = { > tEnv > .executeSql(s""" > |CREATE TABLE `originalT` ( > | `msisdn` VARCHAR(2147483647), > | `uuid` VARCHAR(2147483647) NOT NULL, > | `street_id` VARCHAR(2147483647), > | `dt` VARCHAR(2147483647) NOT NULL, > | CONSTRAINT `PK_dt_uuid` PRIMARY KEY (`dt`, `uuid`) NOT > ENFORCED > |) COMMENT 'radius日志表,以事件日期为分区' > |PARTITIONED BY (`dt`) > |WITH ( > | 'connector' = 'values' > |) > |""".stripMargin) > .await() > tEnv > .executeSql(s""" > |create table `newT` LIKE `originalT`( > | INCLUDING ALL > | EXCLUDING PARTITIONS > | ) > |; > |""".stripMargin) > .await() > val re = tEnv.executeSql("show create table `newT`;") > println(re.asInstanceOf[TableResultImpl].collect().next()) > } {code} > The result is: > {code:java} > CREATE TABLE `default_catalog`.`default_database`.`newT` ( > `msisdn` VARCHAR(2147483647), > `uuid` VARCHAR(2147483647) NOT NULL, > `street_id` VARCHAR(2147483647), > `dt` VARCHAR(2147483647) NOT NULL, > CONSTRAINT `PK_dt_uuid` PRIMARY KEY (`dt`, `uuid`) NOT ENFORCED > ) PARTITIONED BY (`dt`) > WITH ( > 'connector' = 'values' > ) {code} > It seems that `EXCLUDING PARTITIONS` doesn't work actually. -- This message was sent by Atlassian Jira (v8.20.10#820010)