278 lines
15 KiB
JSON
278 lines
15 KiB
JSON
[
|
|
{
|
|
"name": "TestSetOperation",
|
|
"cases": [
|
|
"select * from t3 union select * from t1",
|
|
"select * from t2 union all select * from t1",
|
|
"select * from t1 except select * from t3",
|
|
"select * from t1 intersect select * from t2",
|
|
"select * from t1 union all select * from t2 union all select * from t3",
|
|
"select * from t1 union all select * from t2 except select * from t3",
|
|
"select * from t1 intersect select * from t2 intersect select * from t1",
|
|
"select * from t1 union all select * from t2 intersect select * from t3",
|
|
"select * from t1 except select * from t2 intersect select * from t3",
|
|
"select * from t1 intersect (select * from t2 except (select * from t3))",
|
|
"select * from t1 union all (select * from t2 except select * from t3)",
|
|
"select * from t1 union (select * from t2 union all select * from t3)",
|
|
"(select * from t1 intersect select * from t1) except (select * from t2 union select * from t3)"
|
|
]
|
|
},
|
|
{
|
|
"name": "TestSetOperationOnDiffColType",
|
|
"cases": [
|
|
"select * from t3 union select * from t1",
|
|
"select * from t2 union all select * from t1",
|
|
"select * from t1 except select * from t3",
|
|
"select * from t1 intersect select * from t2",
|
|
"select * from t1 union all select * from t2 union all select * from t3",
|
|
"select * from t1 union all select * from t2 except select * from t3",
|
|
"select * from t1 intersect select * from t2 intersect select * from t1",
|
|
"select * from t1 union all select * from t2 intersect select * from t3",
|
|
"select * from t1 except select * from t2 intersect select * from t3"
|
|
]
|
|
},
|
|
{
|
|
"name": "TestNaturalJoin",
|
|
"cases": [
|
|
"select * from t1 natural join t2",
|
|
"select * from t1 natural left join t2 order by a",
|
|
"select * from t1 natural right join t2 order by a",
|
|
"SELECT * FROM t1 NATURAL LEFT JOIN t2 WHERE not(t1.a <=> t2.a)"
|
|
]
|
|
},
|
|
{
|
|
"name": "TestIndexScanWithYearCol",
|
|
"cases": [
|
|
"select t1.c1, t2.c1 from t as t1 inner join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
|
|
"select * from t as t1 inner join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
|
|
"select count(*) from t as t1 inner join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
|
|
"select t1.c1, t2.c1 from t as t1 left join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
|
|
"select * from t as t1 left join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
|
|
"select count(*) from t as t1 left join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
|
|
"select * from t as t1 left join t as t2 on t1.c1 = t2.c1 where t1.c1 is not NULL"
|
|
]
|
|
},
|
|
{
|
|
"name": "TestRangePartitionBoundariesEq",
|
|
"cases": [
|
|
"INSERT INTO t VALUES (999998, '999998 Filler ...'), (999999, '999999 Filler ...'), (1000000, '1000000 Filler ...'), (1000001, '1000001 Filler ...'), (1000002, '1000002 Filler ...')",
|
|
"INSERT INTO t VALUES (1999998, '1999998 Filler ...'), (1999999, '1999999 Filler ...'), (2000000, '2000000 Filler ...'), (2000001, '2000001 Filler ...'), (2000002, '2000002 Filler ...')",
|
|
"INSERT INTO t VALUES (2999998, '2999998 Filler ...'), (2999999, '2999999 Filler ...')",
|
|
"INSERT INTO t VALUES (-2147483648, 'MIN_INT filler...'), (0, '0 Filler...')",
|
|
"ANALYZE TABLE t",
|
|
"SELECT * FROM t WHERE a = -2147483648",
|
|
"SELECT * FROM t WHERE a IN (-2147483648)",
|
|
"SELECT * FROM t WHERE a = 0",
|
|
"SELECT * FROM t WHERE a IN (0)",
|
|
"SELECT * FROM t WHERE a = 999998",
|
|
"SELECT * FROM t WHERE a IN (999998)",
|
|
"SELECT * FROM t WHERE a = 999999",
|
|
"SELECT * FROM t WHERE a IN (999999)",
|
|
"SELECT * FROM t WHERE a = 1000000",
|
|
"SELECT * FROM t WHERE a IN (1000000)",
|
|
"SELECT * FROM t WHERE a = 1000001",
|
|
"SELECT * FROM t WHERE a IN (1000001)",
|
|
"SELECT * FROM t WHERE a = 1000002",
|
|
"SELECT * FROM t WHERE a IN (1000002)",
|
|
"SELECT * FROM t WHERE a = 3000000",
|
|
"SELECT * FROM t WHERE a IN (3000000)",
|
|
"SELECT * FROM t WHERE a = 3000001",
|
|
"SELECT * FROM t WHERE a IN (3000001)",
|
|
"SELECT * FROM t WHERE a IN (-2147483648, -2147483647)",
|
|
"SELECT * FROM t WHERE a IN (-2147483647, -2147483646)",
|
|
"SELECT * FROM t WHERE a IN (999997, 999998, 999999)",
|
|
"SELECT * FROM t WHERE a IN (999998, 999999, 1000000)",
|
|
"SELECT * FROM t WHERE a IN (999999, 1000000, 1000001)",
|
|
"SELECT * FROM t WHERE a IN (1000000, 1000001, 1000002)",
|
|
"SELECT * FROM t WHERE a IN (1999997, 1999998, 1999999)",
|
|
"SELECT * FROM t WHERE a IN (1999998, 1999999, 2000000)",
|
|
"SELECT * FROM t WHERE a IN (1999999, 2000000, 2000001)",
|
|
"SELECT * FROM t WHERE a IN (2000000, 2000001, 2000002)",
|
|
"SELECT * FROM t WHERE a IN (2999997, 2999998, 2999999)",
|
|
"SELECT * FROM t WHERE a IN (2999998, 2999999, 3000000)",
|
|
"SELECT * FROM t WHERE a IN (2999999, 3000000, 3000001)",
|
|
"SELECT * FROM t WHERE a IN (3000000, 3000001, 3000002)"
|
|
]
|
|
},
|
|
{
|
|
"name": "TestRangePartitionBoundariesNe",
|
|
"cases": [
|
|
"INSERT INTO t VALUES (0, '0 Filler...')",
|
|
"INSERT INTO t VALUES (1, '1 Filler...')",
|
|
"INSERT INTO t VALUES (2, '2 Filler...')",
|
|
"INSERT INTO t VALUES (3, '3 Filler...')",
|
|
"INSERT INTO t VALUES (4, '4 Filler...')",
|
|
"INSERT INTO t VALUES (5, '5 Filler...')",
|
|
"INSERT INTO t VALUES (6, '6 Filler...')",
|
|
"ANALYZE TABLE t",
|
|
"SELECT * FROM t WHERE a != -1",
|
|
"SELECT * FROM t WHERE 1 = 1 AND a != -1",
|
|
"SELECT * FROM t WHERE a NOT IN (-2, -1)",
|
|
"SELECT * FROM t WHERE 1 = 0 OR a = -1",
|
|
"SELECT * FROM t WHERE a != 0",
|
|
"SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0",
|
|
"SELECT * FROM t WHERE a NOT IN (-2, -1, 0)",
|
|
"SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0",
|
|
"SELECT * FROM t WHERE a != 1",
|
|
"SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1",
|
|
"SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1)",
|
|
"SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1",
|
|
"SELECT * FROM t WHERE a != 2",
|
|
"SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2",
|
|
"SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2)",
|
|
"SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2",
|
|
"SELECT * FROM t WHERE a != 3",
|
|
"SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2 AND a != 3",
|
|
"SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2, 3)",
|
|
"SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2 OR a = 3",
|
|
"SELECT * FROM t WHERE a != 4",
|
|
"SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2 AND a != 3 AND a != 4",
|
|
"SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2, 3, 4)",
|
|
"SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2 OR a = 3 OR a = 4",
|
|
"SELECT * FROM t WHERE a != 5",
|
|
"SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2 AND a != 3 AND a != 4 AND a != 5",
|
|
"SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2, 3, 4, 5)",
|
|
"SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2 OR a = 3 OR a = 4 OR a = 5",
|
|
"SELECT * FROM t WHERE a != 6",
|
|
"SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2 AND a != 3 AND a != 4 AND a != 5 AND a != 6",
|
|
"SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2, 3, 4, 5, 6)",
|
|
"SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2 OR a = 3 OR a = 4 OR a = 5 OR a = 6",
|
|
"SELECT * FROM t WHERE a != 7",
|
|
"SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2 AND a != 3 AND a != 4 AND a != 5 AND a != 6 AND a != 7",
|
|
"SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2, 3, 4, 5, 6, 7)",
|
|
"SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2 OR a = 3 OR a = 4 OR a = 5 OR a = 6 OR a = 7"
|
|
]
|
|
},
|
|
{
|
|
"name": "TestRangePartitionBoundariesBetweenM",
|
|
"cases": [
|
|
"INSERT INTO t VALUES (999998, '999998 Filler ...'), (999999, '999999 Filler ...'), (1000000, '1000000 Filler ...'), (1000001, '1000001 Filler ...'), (1000002, '1000002 Filler ...')",
|
|
"INSERT INTO t VALUES (1999998, '1999998 Filler ...'), (1999999, '1999999 Filler ...'), (2000000, '2000000 Filler ...'), (2000001, '2000001 Filler ...'), (2000002, '2000002 Filler ...')",
|
|
"INSERT INTO t VALUES (2999998, '2999998 Filler ...'), (2999999, '2999999 Filler ...')",
|
|
"INSERT INTO t VALUES (-2147483648, 'MIN_INT filler...'), (0, '0 Filler...')",
|
|
"ANALYZE TABLE t",
|
|
"SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2147483649",
|
|
"SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2147483648",
|
|
"SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2147483647",
|
|
"SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2147483646",
|
|
"SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2147483638",
|
|
"SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2146483650",
|
|
"SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2146483649",
|
|
"SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2146483648",
|
|
"SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2146483647",
|
|
"SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2146483646",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND -1",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND 0",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND 1",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND 2",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND 10",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND 999998",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND 999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND 1000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND 1000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND 1000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 999998 AND 999997",
|
|
"SELECT * FROM t WHERE a BETWEEN 999998 AND 999998",
|
|
"SELECT * FROM t WHERE a BETWEEN 999998 AND 999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 999998 AND 1000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 999998 AND 1000008",
|
|
"SELECT * FROM t WHERE a BETWEEN 999998 AND 1999996",
|
|
"SELECT * FROM t WHERE a BETWEEN 999998 AND 1999997",
|
|
"SELECT * FROM t WHERE a BETWEEN 999998 AND 1999998",
|
|
"SELECT * FROM t WHERE a BETWEEN 999998 AND 1999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 999998 AND 2000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 999999 AND 999998",
|
|
"SELECT * FROM t WHERE a BETWEEN 999999 AND 999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 999999 AND 1000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 999999 AND 1000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 999999 AND 1000009",
|
|
"SELECT * FROM t WHERE a BETWEEN 999999 AND 1999997",
|
|
"SELECT * FROM t WHERE a BETWEEN 999999 AND 1999998",
|
|
"SELECT * FROM t WHERE a BETWEEN 999999 AND 1999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 999999 AND 2000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 999999 AND 2000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000000 AND 999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000000 AND 1000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000000 AND 1000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000000 AND 1000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000000 AND 1000010",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000000 AND 1999998",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000000 AND 1999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000000 AND 2000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000000 AND 2000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000000 AND 2000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000001 AND 1000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000001 AND 1000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000001 AND 1000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000001 AND 1000003",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000001 AND 1000011",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000001 AND 1999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000001 AND 2000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000001 AND 2000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000001 AND 2000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000001 AND 2000003",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000002 AND 1000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000002 AND 1000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000002 AND 1000003",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000002 AND 1000004",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000002 AND 1000012",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000002 AND 2000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000002 AND 2000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000002 AND 2000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000002 AND 2000003",
|
|
"SELECT * FROM t WHERE a BETWEEN 1000002 AND 2000004",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000000 AND 2999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000000 AND 3000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000000 AND 3000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000000 AND 3000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000000 AND 3000010",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000000 AND 3999998",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000000 AND 3999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000000 AND 4000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000000 AND 4000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000000 AND 4000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000001 AND 3000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000001 AND 3000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000001 AND 3000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000001 AND 3000003",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000001 AND 3000011",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000001 AND 3999999",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000001 AND 4000000",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000001 AND 4000001",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000001 AND 4000002",
|
|
"SELECT * FROM t WHERE a BETWEEN 3000001 AND 4000003"
|
|
]
|
|
},
|
|
{
|
|
"name": "TestRangePartitionBoundariesBetweenS",
|
|
"cases": [
|
|
"INSERT INTO t VALUES (0, '0 Filler...')",
|
|
"INSERT INTO t VALUES (1, '1 Filler...')",
|
|
"INSERT INTO t VALUES (2, '2 Filler...')",
|
|
"INSERT INTO t VALUES (3, '3 Filler...')",
|
|
"INSERT INTO t VALUES (4, '4 Filler...')",
|
|
"INSERT INTO t VALUES (5, '5 Filler...')",
|
|
"INSERT INTO t VALUES (6, '6 Filler...')",
|
|
"ANALYZE TABLE t",
|
|
"SELECT * FROM t WHERE a BETWEEN 2 AND -1",
|
|
"SELECT * FROM t WHERE a BETWEEN -1 AND 4",
|
|
"SELECT * FROM t WHERE a BETWEEN 2 AND 0",
|
|
"SELECT * FROM t WHERE a BETWEEN 0 AND 4",
|
|
"SELECT * FROM t WHERE a BETWEEN 2 AND 1",
|
|
"SELECT * FROM t WHERE a BETWEEN 1 AND 4",
|
|
"SELECT * FROM t WHERE a BETWEEN 2 AND 2",
|
|
"SELECT * FROM t WHERE a BETWEEN 2 AND 4",
|
|
"SELECT * FROM t WHERE a BETWEEN 2 AND 3",
|
|
"SELECT * FROM t WHERE a BETWEEN 3 AND 4",
|
|
"SELECT * FROM t WHERE a BETWEEN 2 AND 4",
|
|
"SELECT * FROM t WHERE a BETWEEN 4 AND 4",
|
|
"SELECT * FROM t WHERE a BETWEEN 2 AND 5",
|
|
"SELECT * FROM t WHERE a BETWEEN 5 AND 4",
|
|
"SELECT * FROM t WHERE a BETWEEN 2 AND 6",
|
|
"SELECT * FROM t WHERE a BETWEEN 6 AND 4",
|
|
"SELECT * FROM t WHERE a BETWEEN 2 AND 7",
|
|
"SELECT * FROM t WHERE a BETWEEN 7 AND 4"
|
|
]
|
|
}
|
|
]
|