Skip to content

[Bug] WHERE / HAVING TIMESTAMP 'CURRENT_TIMESTAMP' IS NULL retrieves unwanted rows #36342

@malwaregarry

Description

@malwaregarry

Search before asking

  • I had searched in the issues and found no similar issues.

Version

2.1.4

What's Wrong?

if there is a where clause with (TIMESTAMP 'CURRENT_TIMESTAMP' IS NULL);, we might retrieve records not in the original select without the where clause.

CREATE TABLE t0(c0 INT) DISTRIBUTED BY HASH (c0) PROPERTIES ("replication_num" = "1");
CREATE TABLE t1(c0 INT) DISTRIBUTED BY HASH (c0) PROPERTIES ("replication_num" = "1");
INSERT INTO t0 (c0) VALUES (1);
INSERT INTO t1 (c0) VALUES (1);

This returns 0 rows:
SELECT t1.c0, t0.c0 FROM t1 INNER JOIN t0 ON (false) GROUP BY t1.c0, t0.c0;

This returns 1 row
SELECT t1.c0 FROM t0 INNER JOIN t1 ON (false) WHERE (TIMESTAMP 'CURRENT_TIMESTAMP' IS NULL);

The bug also exists for HAVING clauses

What You Expected?

a where / having clause should only reduce the number of records returned

How to Reproduce?

DROP DATABASE IF EXISTS doris0;
CREATE DATABASE doris0;
USE doris0;
CREATE TABLE t0(c0 int) DISTRIBUTED BY RANDOM PROPERTIES ("replication_num" = "1");
CREATE TABLE t1(c0 int) DISTRIBUTED BY RANDOM PROPERTIES ("replication_num" = "1");
INSERT INTO t1 (c0) VALUES (1);
INSERT INTO t0 (c0) VALUES (1);
SELECT t1.c0 FROM t0 INNER JOIN t1 ON (false);
SELECT t1.c0 FROM t0 INNER JOIN t1 ON (false) WHERE (TIMESTAMP 'CURRENT_TIMESTAMP' IS NULL);
DROP DATABASE IF EXISTS doris1;
CREATE DATABASE doris1;
USE doris1;
CREATE TABLE t0(c0 INT) DISTRIBUTED BY HASH (c0) PROPERTIES ("replication_num" = "1");
CREATE TABLE t1(c0 INT) DISTRIBUTED BY HASH (c0) PROPERTIES ("replication_num" = "1");
INSERT INTO t0 (c0) VALUES (1);
INSERT INTO t1 (c0) VALUES (1);
SELECT t1.c0, t0.c0 FROM  t1 INNER JOIN t0 ON (false) GROUP BY t1.c0, t0.c0;
SELECT t1.c0, t0.c0 FROM  t1 INNER JOIN t0 ON (false) GROUP BY t1.c0, t0.c0 HAVING ((TIMESTAMP 'CURRENT_TIMESTAMP') IS NULL);

Anything Else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions