48
48
--echo subqueries within outer joins go into ON expr.
49
49
# TODO: psergey: check if case conversions like those are ok (it broke on windows)
50
# TODO: This crashes the server: jaypipes... ?
51
#select * from t1 left join (t2 A, t2 B) on ( A.a= t1.a and B.a in (select pk from t10));
53
#--replace_result a A b B
55
#select * from t1 left join (t2 A, t2 B) on ( A.a= t1.a and B.a in (select pk from t10));
50
--replace_result a A b B
52
select * from t1 left join (t2 A, t2 B) on ( A.a= t1.a and B.a in (select pk from t10));
57
54
# TODO: psergey: check if case conversions like those are ok (it broke on windows)
58
#--echo t2 should be wrapped into OJ-nest, so we have "t1 LJ (t2 J t10)"
59
#select * from t1 left join t2 on (t2.a= t1.a and t2.a in (select pk from t10));
61
#--replace_result a A b B
63
#select * from t1 left join t2 on (t2.a= t1.a and t2.a in (select pk from t10));
65
#--echo we shouldn't flatten if we're going to get a join of > MAX_TABLES.
66
#explain select * from
67
# t1 s00, t1 s01, t1 s02, t1 s03, t1 s04,t1 s05,t1 s06,t1 s07,t1 s08,t1 s09,
68
# t1 s10, t1 s11, t1 s12, t1 s13, t1 s14,t1 s15,t1 s16,t1 s17,t1 s18,t1 s19,
69
# t1 s20, t1 s21, t1 s22, t1 s23, t1 s24,t1 s25,t1 s26,t1 s27,t1 s28,t1 s29,
70
# t1 s30, t1 s31, t1 s32, t1 s33, t1 s34,t1 s35,t1 s36,t1 s37,t1 s38,t1 s39,
71
# t1 s40, t1 s41, t1 s42, t1 s43, t1 s44,t1 s45,t1 s46,t1 s47,t1 s48,t1 s49
75
# t1 m00, t1 m01, t1 m02, t1 m03, t1 m04,t1 m05,t1 m06,t1 m07,t1 m08,t1 m09,
76
# t1 m10, t1 m11, t1 m12, t1 m13, t1 m14,t1 m15,t1 m16,t1 m17,t1 m18,t1 m19
55
--echo t2 should be wrapped into OJ-nest, so we have "t1 LJ (t2 J t10)"
56
--replace_result a A b B
58
select * from t1 left join t2 on (t2.a= t1.a and t2.a in (select pk from t10));
60
--echo we shouldn't flatten if we're going to get a join of > MAX_TABLES.
62
t1 s00, t1 s01, t1 s02, t1 s03, t1 s04,t1 s05,t1 s06,t1 s07,t1 s08,t1 s09,
63
t1 s10, t1 s11, t1 s12, t1 s13, t1 s14,t1 s15,t1 s16,t1 s17,t1 s18,t1 s19,
64
t1 s20, t1 s21, t1 s22, t1 s23, t1 s24,t1 s25,t1 s26,t1 s27,t1 s28,t1 s29,
65
t1 s30, t1 s31, t1 s32, t1 s33, t1 s34,t1 s35,t1 s36,t1 s37,t1 s38,t1 s39,
66
t1 s40, t1 s41, t1 s42, t1 s43, t1 s44,t1 s45,t1 s46,t1 s47,t1 s48,t1 s49
70
t1 m00, t1 m01, t1 m02, t1 m03, t1 m04,t1 m05,t1 m06,t1 m07,t1 m08,t1 m09,
71
t1 m10, t1 m11, t1 m12, t1 m13, t1 m14,t1 m15,t1 m16,t1 m17,t1 m18,t1 m19
80
75
t1 left join t2 on (t2.a= t1.a and t2.a in (select pk from t10))
83
t1 left join t2 on (t2.a= t1.a and t2.a in (select pk from t10))
84
89
insert into t1 select (A.a + 10 * B.a),1 from t0 A, t0 B;
85
90
explain extended select * from t1 where a in (select pk from t10 where pk<3);
88
93
drop table t10, t11, t12;