You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2023/09/30 11:35:00 UTC

[jira] [Updated] (FLINK-33171) Table SQL support Not Equal for TimePoint type and TimeString

     [ https://issues.apache.org/jira/browse/FLINK-33171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ASF GitHub Bot updated FLINK-33171:
-----------------------------------
    Labels: pull-request-available  (was: )

> Table SQL support Not Equal for TimePoint type and TimeString
> -------------------------------------------------------------
>
>                 Key: FLINK-33171
>                 URL: https://issues.apache.org/jira/browse/FLINK-33171
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>    Affects Versions: 1.18.0, 1.17.1
>            Reporter: Feng Jiajie
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.17.2, 1.18.1
>
>
> When executing the following SQL:
> {code:sql}
> SELECT
>     time1,
>     time1 = '2023-09-30 18:22:42.123' AS eq1,
>     NOT (time1 = '2023-09-30 18:22:42.123') AS notEq1
> FROM table1;
> {code}
> the result is as follows:
> {code:java}
> +----+-------------------------+--------+--------+
> | op |                   time1 |    eq1 | notEq1 |
> +----+-------------------------+--------+--------+
> | +I | 2023-09-30 18:22:42.123 |   TRUE |   TRUE |
> | +I | 2023-09-30 18:22:42.124 |  FALSE |   TRUE |
> +----+-------------------------+--------+--------+
> 2 rows in set
> {code}
> The "notEq1" in the first row should be FALSE.
> Here is the reproducing code:
> {code:java}
> import org.apache.flink.api.common.functions.RichMapFunction;
> import org.apache.flink.api.common.typeinfo.TypeInformation;
> import org.apache.flink.api.common.typeinfo.Types;
> import org.apache.flink.api.java.typeutils.RowTypeInfo;
> import org.apache.flink.configuration.Configuration;
> import org.apache.flink.streaming.api.datastream.DataStreamSource;
> import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
> import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
> import org.apache.flink.table.api.DataTypes;
> import org.apache.flink.table.api.Schema;
> import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;
> import org.apache.flink.types.Row;
> public class TimePointNotEqualTest {
>     public static void main(String[] args) throws Exception {
>         StreamExecutionEnvironment env =
>                 StreamExecutionEnvironment.getExecutionEnvironment(new Configuration());
>         env.setParallelism(1);
>         DataStreamSource<Long> longDataStreamSource = env.fromSequence(0, 1);
>         RowTypeInfo rowTypeInfo =
>                 new RowTypeInfo(new TypeInformation[] {Types.LONG}, new String[] {"time1"});
>         SingleOutputStreamOperator<Row> map =
>                 longDataStreamSource.map(new RichMapFunction<Long, Row>() {
>                     @Override
>                     public Row map(Long value) {
>                         Row row = new Row(1);
>                         row.setField(0, 1696069362123L + value);
>                         return row;
>                     }
>                 }, rowTypeInfo);
>         StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env);
>         Schema schema = Schema.newBuilder()
>                 .column("time1", DataTypes.TIMESTAMP_LTZ(3).bridgedTo(Long.class))
>                 .build();
>         tableEnv.createTemporaryView("table1", map, schema);
>         tableEnv.sqlQuery("SELECT "
>                 + "time1," // 2023-09-30 18:22:42.123
>                 + "time1 = '2023-09-30 18:22:42.123' AS eq1," // expect TRUE
>                 + "NOT (time1 = '2023-09-30 18:22:42.123') AS notEq1 " // expect FALSE but TRUE
>                 + "FROM table1").execute().print();
>     }
> }
> {code}
> I would like to attempt to fix this issue. If possible, please assign the issue to me. Thank you.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)