~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/r/subselect_sj.result

  • Committer: Brian Aker
  • Date: 2009-01-08 22:47:46 UTC
  • mfrom: (642.1.77 drizzle-clean-code)
  • Revision ID: brian@tangent.org-20090108224746-b6l8m91ougralsh9
MergeĀ fromĀ Lee.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
An empty table inside
30
30
explain select * from t1 where a in (select a from t11);
31
31
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
32
 
1       PRIMARY NULL    NULL    NULL    NULL    NULL    NULL    NULL    Impossible WHERE noticed after reading const tables
 
32
1       PRIMARY t11     ALL     NULL    NULL    NULL    NULL    1       Start temporary
 
33
1       PRIMARY t1      ALL     NULL    NULL    NULL    NULL    3       Using where; End temporary; Using join buffer
33
34
select * from t1 where a in (select a from t11);
34
35
a       b
35
36
explain select * from t1 where a in (select pk from t10) and b in (select pk from t10);
62
63
Warnings:
63
64
Note    1003    select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from (`test`.`t10` join `test`.`t12`) join `test`.`t1` where ((`test`.`t10`.`pk` = `test`.`t1`.`a`) and (`test`.`t12`.`pk` = `test`.`t10`.`a`))
64
65
subqueries within outer joins go into ON expr.
65
 
explAin extended
66
 
select * from t1 left join (t2 A, t2 B) on ( A.A= t1.A And B.A in (select pk from t10));
67
 
id      select_type     tABle   type    possiBle_keys   key     key_len ref     rows    filtered        ExtrA
68
 
1       PRIMARY t1      ALL     NULL    NULL    NULL    NULL    3       100.00  
69
 
1       PRIMARY A       ALL     NULL    NULL    NULL    NULL    3       100.00  
70
 
1       PRIMARY B       ALL     NULL    NULL    NULL    NULL    3       100.00  
71
 
1       PRIMARY t10     eq_ref  PRIMARY PRIMARY 4       test.B.A        1       100.00  Using index
72
 
Warnings:
73
 
Note    1003    select `test`.`t1`.`A` AS `A`,`test`.`t1`.`B` AS `B`,`test`.`A`.`A` AS `A`,`test`.`A`.`B` AS `B`,`test`.`B`.`A` AS `A`,`test`.`B`.`B` AS `B` from `test`.`t1` left join ((`test`.`t10`) join `test`.`t2` `A` join `test`.`t2` `B`) on(((`test`.`A`.`A` = `test`.`t1`.`A`) And 1 And (`test`.`B`.`A` = `test`.`t10`.`pk`))) where 1
74
 
t2 should be wrapped into OJ-nest, so we have "t1 LJ (t2 J t10)"
75
 
explAin extended
76
 
select * from t1 left join t2 on (t2.A= t1.A And t2.A in (select pk from t10));
77
 
id      select_type     tABle   type    possiBle_keys   key     key_len ref     rows    filtered        ExtrA
78
 
1       PRIMARY t1      ALL     NULL    NULL    NULL    NULL    3       100.00  
79
 
1       PRIMARY t2      ALL     NULL    NULL    NULL    NULL    3       100.00  
80
 
1       PRIMARY t10     eq_ref  PRIMARY PRIMARY 4       test.t2.A       1       100.00  Using index
81
 
Warnings:
82
 
Note    1003    select `test`.`t1`.`A` AS `A`,`test`.`t1`.`B` AS `B`,`test`.`t2`.`A` AS `A`,`test`.`t2`.`B` AS `B` from `test`.`t1` left join ((`test`.`t10`) join `test`.`t2`) on(((`test`.`t2`.`A` = `test`.`t1`.`A`) And 1 And (`test`.`t2`.`A` = `test`.`t10`.`pk`))) where 1
83
 
we shouldn't flatten if we're going to get a join of > MAX_TABLES.
84
 
explain select * from 
85
 
t1 s00, t1 s01,  t1 s02, t1 s03, t1 s04,t1 s05,t1 s06,t1 s07,t1 s08,t1 s09,
86
 
t1 s10, t1 s11,  t1 s12, t1 s13, t1 s14,t1 s15,t1 s16,t1 s17,t1 s18,t1 s19,
87
 
t1 s20, t1 s21,  t1 s22, t1 s23, t1 s24,t1 s25,t1 s26,t1 s27,t1 s28,t1 s29,
88
 
t1 s30, t1 s31,  t1 s32, t1 s33, t1 s34,t1 s35,t1 s36,t1 s37,t1 s38,t1 s39,
89
 
t1 s40, t1 s41,  t1 s42, t1 s43, t1 s44,t1 s45,t1 s46,t1 s47,t1 s48,t1 s49
90
 
where
91
 
s00.a in (
92
 
select m00.a from
93
 
t1 m00, t1 m01,  t1 m02, t1 m03, t1 m04,t1 m05,t1 m06,t1 m07,t1 m08,t1 m09,
94
 
t1 m10, t1 m11,  t1 m12, t1 m13, t1 m14,t1 m15,t1 m16,t1 m17,t1 m18,t1 m19
95
 
);
96
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
97
 
1       PRIMARY s00     ALL     NULL    NULL    NULL    NULL    3       Using where
98
 
1       PRIMARY s01     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
99
 
1       PRIMARY s02     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
100
 
1       PRIMARY s03     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
101
 
1       PRIMARY s04     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
102
 
1       PRIMARY s05     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
103
 
1       PRIMARY s06     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
104
 
1       PRIMARY s07     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
105
 
1       PRIMARY s08     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
106
 
1       PRIMARY s09     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
107
 
1       PRIMARY s10     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
108
 
1       PRIMARY s11     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
109
 
1       PRIMARY s12     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
110
 
1       PRIMARY s13     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
111
 
1       PRIMARY s14     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
112
 
1       PRIMARY s15     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
113
 
1       PRIMARY s16     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
114
 
1       PRIMARY s17     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
115
 
1       PRIMARY s18     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
116
 
1       PRIMARY s19     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
117
 
1       PRIMARY s20     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
118
 
1       PRIMARY s21     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
119
 
1       PRIMARY s22     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
120
 
1       PRIMARY s23     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
121
 
1       PRIMARY s24     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
122
 
1       PRIMARY s25     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
123
 
1       PRIMARY s26     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
124
 
1       PRIMARY s27     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
125
 
1       PRIMARY s28     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
126
 
1       PRIMARY s29     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
127
 
1       PRIMARY s30     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
128
 
1       PRIMARY s31     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
129
 
1       PRIMARY s32     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
130
 
1       PRIMARY s33     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
131
 
1       PRIMARY s34     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
132
 
1       PRIMARY s35     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
133
 
1       PRIMARY s36     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
134
 
1       PRIMARY s37     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
135
 
1       PRIMARY s38     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
136
 
1       PRIMARY s39     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
137
 
1       PRIMARY s40     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
138
 
1       PRIMARY s41     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
139
 
1       PRIMARY s42     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
140
 
1       PRIMARY s43     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
141
 
1       PRIMARY s44     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
142
 
1       PRIMARY s45     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
143
 
1       PRIMARY s46     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
144
 
1       PRIMARY s47     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
145
 
1       PRIMARY s48     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
146
 
1       PRIMARY s49     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
147
 
2       DEPENDENT SUBQUERY      m00     ALL     NULL    NULL    NULL    NULL    3       Using where
148
 
2       DEPENDENT SUBQUERY      m01     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
149
 
2       DEPENDENT SUBQUERY      m02     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
150
 
2       DEPENDENT SUBQUERY      m03     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
151
 
2       DEPENDENT SUBQUERY      m04     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
152
 
2       DEPENDENT SUBQUERY      m05     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
153
 
2       DEPENDENT SUBQUERY      m06     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
154
 
2       DEPENDENT SUBQUERY      m07     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
155
 
2       DEPENDENT SUBQUERY      m08     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
156
 
2       DEPENDENT SUBQUERY      m09     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
157
 
2       DEPENDENT SUBQUERY      m10     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
158
 
2       DEPENDENT SUBQUERY      m11     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
159
 
2       DEPENDENT SUBQUERY      m12     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
160
 
2       DEPENDENT SUBQUERY      m13     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
161
 
2       DEPENDENT SUBQUERY      m14     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
162
 
2       DEPENDENT SUBQUERY      m15     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
163
 
2       DEPENDENT SUBQUERY      m16     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
164
 
2       DEPENDENT SUBQUERY      m17     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
165
 
2       DEPENDENT SUBQUERY      m18     ALL     NULL    NULL    NULL    NULL    3       Using join buffer
166
 
2       DEPENDENT SUBQUERY      m19     ALL     NULL    NULL    NULL    NULL    3       Using where; Using join buffer
167
 
select * from
168
 
t1 left join t2 on (t2.a= t1.a and t2.a in (select pk from t10)) 
169
 
where t1.a < 5;
170
 
a       b       a       b
171
 
0       0       0       0
172
 
1       1       1       1
173
 
2       2       2       2
174
 
prepare s1 from
175
 
' select * from
176
 
    t1 left join t2 on (t2.a= t1.a and t2.a in (select pk from t10))
177
 
  where t1.a < 5';
178
 
execute s1;
179
 
a       b       a       b
180
 
0       0       0       0
181
 
1       1       1       1
182
 
2       2       2       2
183
 
execute s1;
184
 
a       b       a       b
185
 
0       0       0       0
186
 
1       1       1       1
187
 
2       2       2       2
188
 
insert into t1 select (A.a + 10 * B.a),1 from t0 A, t0 B;
 
66
insert into t1 select (A.A + 10 * B.A),1 from t0 A, t0 B;
189
67
explain extended select * from t1 where a in (select pk from t10 where pk<3);
190
68
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
191
69
1       PRIMARY t1      ALL     NULL    NULL    NULL    NULL    103     100.00  Using where