StarRocks / starrocks

StarRocks, a Linux Foundation project, is a next-generation sub-second MPP OLAP database for full analytics scenarios, including multi-dimensional analytics, real-time analytics, and ad-hoc queries.
https://starrocks.io
Apache License 2.0
8.77k stars 1.76k forks source link

[sqlancer] query unknown error #11910

Closed wanpengfei-git closed 2 years ago

wanpengfei-git commented 2 years ago

Steps to reproduce the behavior (Required)

DROP DATABASE IF EXISTS n0;
CREATE DATABASE n0;
USE n0;
admin set frontend config ("enable_decimal_v3" = "true");
CREATE TABLE t0 (c_0_0 DATE NOT NULL ,c_0_1 BIGINT NOT NULL ) DUPLICATE KEY (c_0_0) PARTITION BY RANGE(c_0_0) (START ("2010-01-01") END ("2022-12-31") EVERY (INTERVAL 128 day)) DISTRIBUTED BY HASH (c_0_0) BUCKETS 3 properties("replication_num"="3") ;
CREATE TABLE IF NOT EXISTS t1 (c_1_0 BOOLEAN NOT NULL,c_1_1 SMALLINT NOT NULL,c_1_2 ARRAY<STRING> NOT NULL,c_1_3 BOOLEAN NOT NULL,c_1_4 DATE NOT NULL) PRIMARY KEY (c_1_0) DISTRIBUTED BY HASH (c_1_0) BUCKETS 3 properties("replication_num"="3") ;
INSERT INTO t0 VALUES ('2010-01-29', -324694830), ('2010-01-19', 1224386271), ('2010-01-13', 447198644);
INSERT INTO t0 VALUES ('2010-01-13', -324694830), ('2010-01-16', 1576273535);
INSERT INTO t1 VALUES (false, 10, ["h", "iNq", "", "DbD", "nEHrOi8Al", "PPd", "xtqeOPR", "", "yZe", "GW2"], false, '2010-01-02'), (true, 6, ["", "CU", "LD7SNSYq", "T", "", "2hpIN5oH", "B", "ziYxl6M", "JFJ", "b"], false, '2010-01-05');
INSERT INTO t0 VALUES ('2010-01-23', -1606614905);
INSERT INTO t1 VALUES (false, 15, ["", "scV", "Di", "uI", "WL"], false, '2010-01-31');
INSERT INTO t1 VALUES (true, 15, ["90J1EJT", "", "U", "", "ojN1", "Y", "", "c", ""], false, '2010-01-23'), (true, 3, ["", "", "rVSC", "fm", "C"], false, '2010-01-17');
INSERT INTO t1 VALUES (true, 6, ["yik5PQt", "3zGmkjLA", "cg6A", "", "I8bu", "lh", "df", "yo3", "tjG3", "MbyKzJ", "nP", "", "j", ""], true, '2010-01-06');
DELETE FROM t0 WHERE c_0_0='1970-01-06';
INSERT INTO t0 VALUES ('2010-01-17', 447198644), ('2010-01-29', 447198644);
CREATE MATERIALIZED VIEW v0 AS SELECT t0_2.c_0_1, MAX(t0_2.c_0_0)  FROM t0 AS t0_2 GROUP BY t0_2.c_0_1 ORDER BY t0_2.c_0_1;
CREATE MATERIALIZED VIEW v0 AS SELECT t1_5.c_1_1, t1_5.c_1_3, t1_5.c_1_4, MAX(t1_5.c_1_0)  FROM t1 AS t1_5 GROUP BY t1_5.c_1_1, t1_5.c_1_3, t1_5.c_1_4 ORDER BY t1_5.c_1_1, t1_5.c_1_3 ASC, t1_5.c_1_4;
INSERT INTO t0 VALUES ('2010-01-11', -1606614905);
INSERT INTO t1 VALUES (false, 8, ["wIFokYF", "m", "", "zwO", "IHGf0XI", "l7q", "", "wh", "xOxB65j4N", "ek", "9", "N", "7d"], false, '2010-01-06'), (true, 12, ["", "W8", "o0", "mu", "AF", "e", "", "", "U1rZnXoH", "r", "", "k", "o0EMlL9R", "NE", ""], false, '2010-01-29'), (false, 10, ["uS4EdY", "", "LlPJZvz7", "PwH3K"], true, '2010-01-09');
INSERT INTO t0 VALUES ('2010-01-23', -604667710);
INSERT INTO t0 VALUES ('2010-01-14', 1224386271), ('2010-01-22', -1606614905);
WITH with_t_0 as (SELECT t1_9.c_1_0, t1_9.c_1_1, t1_9.c_1_3, t1_9.c_1_4 FROM t1 AS t1_9 WHERE (t1_9.c_1_1)  BETWEEN (t1_9.c_1_1) AND (((((((85218641)/(2071139298)))%(((2071139298)/(LEAST(NULL, -292420301, -1575986611) )))))/(1828513875))) ) , with_t_1 as (SELECT t1_9.c_1_0, t1_9.c_1_1, t1_9.c_1_3, t1_9.c_1_4 FROM t1 AS t1_9) SELECT COUNT(*) FROM t1 AS t1_9, with_t_0 AS with_t_0, with_t_1 AS with_t_1 WHERE (false) IN ((SELECT t0_8.c_0_0 FROM t0 AS t0_8, t1 AS t1_9 WHERE  ( ((256292690)-(CASE  WHEN STARTS_WITH('', NULL)  THEN 986364686  WHEN CASE  WHEN false THEN (-1536935850) IN (NULL, 1778735957)   WHEN (NOT (false)) THEN ENDS_WITH('w', 'wUD')   WHEN (t1_9.c_1_4) IN ('1969-12-20', '1970-01-25')  THEN false END THEN 1810216282 ELSE ((1686438706)*(((-90139664)/(-572618050)))) END)) ) = ( t1_9.c_1_1 ) ) ) ;
java.lang.NullPointerException: null
    at com.starrocks.sql.optimizer.rule.transformation.SemiReorderRule.check(SemiReorderRule.java:70) ~[starrocks-fe.jar:?]
    at com.starrocks.sql.optimizer.task.ApplyRuleTask.execute(ApplyRuleTask.java:64) ~[starrocks-fe.jar:?]
    at com.starrocks.sql.optimizer.task.SeriallyTaskScheduler.executeTasks(SeriallyTaskScheduler.java:42) ~[starrocks-fe.jar:?]
    at com.starrocks.sql.optimizer.Optimizer.memoOptimize(Optimizer.java:166) ~[starrocks-fe.jar:?]
    at com.starrocks.sql.optimizer.Optimizer.optimize(Optimizer.java:105) ~[starrocks-fe.jar:?]
    at com.starrocks.sql.StatementPlanner.createQueryPlan(StatementPlanner.java:102) ~[starrocks-fe.jar:?]
    at com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:65) ~[starrocks-fe.jar:?]
    at com.starrocks.sql.StatementPlanner.plan(StatementPlanner.java:39) ~[starrocks-fe.jar:?]
    at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:369) ~[starrocks-fe.jar:?]
    at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:319) ~[starrocks-fe.jar:?]
    at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:434) ~[starrocks-fe.jar:?]
    at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:680) ~[starrocks-fe.jar:?]
    at com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:55) ~[starrocks-fe.jar:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]

StarRocks version (Required)

Seaven commented 2 years ago
MySQL td> explain select * from t1 where exists (select v1 from t0 where t1.v3 = 3);
(1064, 'no executable plan for this sql')
MySQL td> explain select * from t1 where (exists (select v1 from t0 where t1.v3 = 3)) is null;
(1064, 'Unknown error')
MySQL td> explain select * from t1 where false in (select v1 from t0);
(1064, 'no executable plan for this sql')