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)