lixu created FLINK-37147:
----------------------------
Summary: The where condition run time advance caused a program
error
Key: FLINK-37147
URL: https://issues.apache.org/jira/browse/FLINK-37147
Project: Flink
Issue Type: Bug
Components: Table SQL / Planner
Affects Versions: 1.17.1
Environment: {code:java}
//代码占位符
StreamExecutionEnvironment env =
StreamExecutionEnvironment.getExecutionEnvironment();
env.setRuntimeMode(RuntimeExecutionMode.BATCH).setParallelism(1);
StreamTableEnvironment tableEnvironment = StreamTableEnvironment.create(env);
Table taxiOperation = tableEnvironment.fromValues(
DataTypes.ROW(
DataTypes.FIELD("id", DataTypes.STRING()),
DataTypes.FIELD("startTime", DataTypes.STRING()),
DataTypes.FIELD("amount", DataTypes.DOUBLE())
),
row("1", "2022-02-07", 7.38),
row("3", "2022-02-08", 2.38),
row("4", "2022-02-30", 5.38)
);
tableEnvironment.createTemporaryView("taxiOperation", taxiOperation);
Table taxiCompany = tableEnvironment.fromValues(
DataTypes.ROW(
DataTypes.FIELD("codeTime", DataTypes.STRING())
),
row("2022-02-07"),
row("2022-02-08")
);
tableEnvironment.createTemporaryView("taxiTimeCode", taxiCompany);
tableEnvironment.createTemporaryView("t1", tableEnvironment.sqlQuery("select
tc.*, tto.* from taxiTimeCode tc " +
"left join taxiOperation tto on tc.codeTime = tto.startTime"));
tableEnvironment.createTemporaryView("t2", tableEnvironment.sqlQuery("select
t1.*, cast(t1.startTime as date) as endTime from t1"));
tableEnvironment.sqlQuery("select * from t2 where endTime <
current_date").execute().print(); {code}
Reporter: lixu
Fix For: 1.17.3, 1.18.2, 1.19.2, 1.20.1
In the provided code, when querying the t2 table, adding the filtering of the
date field, the program will report an error; Without adding the filtering of
the date field, the program runs normally;
--
This message was sent by Atlassian Jira
(v8.20.10#820010)