Files
tidb/expression/testdata/expression_suite_in.json
2021-02-22 17:50:06 +08:00

42 lines
2.9 KiB
JSON

[
{
"name": "TestOuterJoinPropConst",
"cases": [
// Positive tests.
"explain format = 'brief' select * from t1 left join t2 on t1.a > t2.a and t1.a = 1",
"explain format = 'brief' select * from t1 left join t2 on t1.a > t2.a where t1.a = 1",
"explain format = 'brief' select * from t1 left join t2 on t1.a = t2.a and t1.a > 1",
"explain format = 'brief' select * from t1 left join t2 on t1.a = t2.a where t1.a > 1",
"explain format = 'brief' select * from t1 right join t2 on t1.a > t2.a where t2.a = 1",
"explain format = 'brief' select * from t1 right join t2 on t1.a = t2.a where t2.a > 1",
"explain format = 'brief' select * from t1 right join t2 on t1.a = t2.a and t2.a > 1",
"explain format = 'brief' select * from t1 right join t2 on t1.a > t2.a and t2.a = 1",
// Negative tests.
"explain format = 'brief' select * from t1 left join t2 on t1.a = t2.a and t2.a > 1",
"explain format = 'brief' select * from t1 left join t2 on t1.a > t2.a and t2.a = 1",
"explain format = 'brief' select * from t1 right join t2 on t1.a > t2.a and t1.a = 1",
"explain format = 'brief' select * from t1 right join t2 on t1.a = t2.a and t1.a > 1",
"explain format = 'brief' select * from t1 left join t2 on t1.a = t1.b and t1.a > 1",
"explain format = 'brief' select * from t1 left join t2 on t2.a = t2.b and t2.a > 1",
// Constant equal condition merge in outer join.
"explain format = 'brief' select * from t1 left join t2 on true where t1.a = 1 and false",
"explain format = 'brief' select * from t1 left join t2 on true where t1.a = 1 and null",
"explain format = 'brief' select * from t1 left join t2 on true where t1.a = null",
"explain format = 'brief' select * from t1 left join t2 on true where t1.a = 1 and t1.a = 2",
"explain format = 'brief' select * from t1 left join t2 on true where t1.a = 1 and t1.a = 1",
"explain format = 'brief' select * from t1 left join t2 on false",
"explain format = 'brief' select * from t1 right join t2 on false",
"explain format = 'brief' select * from t1 left join t2 on t1.a = 1 and t1.a = 2",
"explain format = 'brief' select * from t1 left join t2 on t1.a =1 where t1.a = 2",
"explain format = 'brief' select * from t1 left join t2 on t2.a = 1 and t2.a = 2",
// Constant propagation for DNF in outer join.
"explain format = 'brief' select * from t1 left join t2 on t1.a = 1 or (t1.a = 2 and t1.a = 3)",
"explain format = 'brief' select * from t1 left join t2 on true where t1.a = 1 or (t1.a = 2 and t1.a = 3)",
// Constant propagation over left outer semi join, filter with aux column should not be derived.
"explain format = 'brief' select * from t1 where t1.b > 1 or t1.b in (select b from t2)",
// Don't propagate for the control function.
"explain format = 'brief' select * from t1 left join t2 on t1.a = t2.a where ifnull(t2.b, t1.a) = 1"
]
}
]