You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "lvycc (Jira)" <ji...@apache.org> on 2022/05/17 09:56:00 UTC
[jira] [Updated] (FLINK-27639) Flink JOIN uses the now() function when inserting data, resulting in data that cannot be deleted
[ https://issues.apache.org/jira/browse/FLINK-27639?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
lvycc updated FLINK-27639:
--------------------------
Component/s: Table SQL / API
> Flink JOIN uses the now() function when inserting data, resulting in data that cannot be deleted
> ------------------------------------------------------------------------------------------------
>
> Key: FLINK-27639
> URL: https://issues.apache.org/jira/browse/FLINK-27639
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / API
> Affects Versions: 1.14.4
> Reporter: lvycc
> Priority: Major
>
> I use the now() function as the field value when I insert data using SQL ,but I can't delete the inserted data,here is my sql:
> {code:java}
> //代码占位符
> CREATE TABLE t_order (
> order_id INT,
> order_name STRING,
> product_id INT,
> user_id INT,
> PRIMARY KEY(order_id) NOT ENFORCED
> ) WITH (
> 'connector' = 'mysql-cdc',
> 'hostname' = 'localhost',
> 'port' = '3306',
> 'username' = 'root',
> 'password' = 'ycc123',
> 'database-name' = 'wby_test',
> 'table-name' = 't_order'
> );
> CREATE TABLE t_logistics (
> logistics_id INT,
> logistics_target STRING,
> logistics_source STRING,
> logistics_time TIMESTAMP(0),
> order_id INT,
> PRIMARY KEY(logistics_id) NOT ENFORCED
> ) WITH (
> 'connector' = 'mysql-cdc',
> 'hostname' = 'localhost',
> 'port' = '3306',
> 'username' = 'root',
> 'password' = 'ycc123',
> 'database-name' = 'wby_test',
> 'table-name' = 't_logistics'
> );
> CREATE TABLE t_join_sink (
> order_id INT,
> order_name STRING,
> logistics_id INT,
> logistics_target STRING,
> logistics_source STRING,
> logistics_time timestamp,
> PRIMARY KEY(order_id) NOT ENFORCED
> ) WITH (
> 'connector' = 'jdbc',
> 'url' = 'jdbc:mysql://localhost:3306/wby_test?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai',
> 'table-name' = 't_join_sink',
> 'username' = 'root',
> 'password' = 'ycc123'
> );
> INSERT INTO t_join_sink
> SELECT ord.order_id,
> ord.order_name,
> logistics.logistics_id,
> logistics.logistics_target,
> logistics.logistics_source,
> now()
> FROM t_order AS ord
> LEFT JOIN t_logistics AS logistics ON ord.order_id=logistics.order_id; {code}
> The debug finds that SinkUpsertMaterializer causes the problem ,the result of the now() function changes when I delete the data,therefore, the delete operation is ignored
> But what can I do to avoid this problem?
--
This message was sent by Atlassian Jira
(v8.20.7#820007)