From: Tor Didriksen Date: January 30 2012 9:06am Subject: bzr push into mysql-trunk branch (tor.didriksen:3466 to 3467) List-Archive: http://lists.mysql.com/commits/142625 Message-Id: <201201300906.q0U96RKS030839@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3467 Tor Didriksen 2012-01-30 [merge] merge opt-backporting => opt-team modified: mysql-test/suite/opt_trace/r/bugs_ps_prot_all.result mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result mysql-test/suite/opt_trace/r/general2_ps_prot.result mysql-test/suite/opt_trace/r/general_ps_prot_all.result mysql-test/suite/opt_trace/r/general_ps_prot_none.result mysql-test/suite/opt_trace/r/range_ps_prot.result mysql-test/suite/opt_trace/r/subquery_ps_prot.result 3466 Tor Didriksen 2012-01-27 [merge] merge opt-backporting =>opt-team added: mysql-test/suite/opt_trace/r/eq_range_statistics.result mysql-test/suite/opt_trace/t/eq_range_statistics.test mysql-test/suite/sys_vars/r/eq_range_index_dive_limit_basic.result mysql-test/suite/sys_vars/t/eq_range_index_dive_limit_basic.test modified: include/my_base.h mysql-test/include/join_cache.inc mysql-test/include/subquery_mat.inc mysql-test/include/subquery_sj.inc mysql-test/r/derived.result mysql-test/r/greedy_optimizer.result mysql-test/r/join_cache_bka.result mysql-test/r/join_cache_bka_nixbnl.result mysql-test/r/join_cache_bkaunique.result mysql-test/r/join_cache_bnl.result mysql-test/r/join_cache_nojb.result mysql-test/r/join_nested.result mysql-test/r/join_nested_bka.result mysql-test/r/join_nested_bka_nixbnl.result mysql-test/r/mysqld--help-notwin.result mysql-test/r/mysqld--help-win.result mysql-test/r/subquery_mat.result mysql-test/r/subquery_mat_all.result mysql-test/r/subquery_mat_none.result mysql-test/r/subquery_sj_all.result mysql-test/r/subquery_sj_all_bka.result mysql-test/r/subquery_sj_all_bka_nixbnl.result mysql-test/r/subquery_sj_all_bkaunique.result mysql-test/r/subquery_sj_dupsweed.result mysql-test/r/subquery_sj_dupsweed_bka.result mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result mysql-test/r/subquery_sj_dupsweed_bkaunique.result mysql-test/r/subquery_sj_firstmatch.result mysql-test/r/subquery_sj_firstmatch_bka.result mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result mysql-test/r/subquery_sj_firstmatch_bkaunique.result mysql-test/r/subquery_sj_loosescan.result mysql-test/r/subquery_sj_loosescan_bka.result mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result mysql-test/r/subquery_sj_loosescan_bkaunique.result mysql-test/r/subquery_sj_mat.result mysql-test/r/subquery_sj_mat_bka.result mysql-test/r/subquery_sj_mat_bka_nixbnl.result mysql-test/r/subquery_sj_mat_bkaunique.result mysql-test/r/subquery_sj_mat_nosj.result mysql-test/r/subquery_sj_none.result mysql-test/r/subquery_sj_none_bka.result mysql-test/r/subquery_sj_none_bka_nixbnl.result mysql-test/r/subquery_sj_none_bkaunique.result mysql-test/suite/opt_trace/r/bugs_no_prot_all.result mysql-test/suite/opt_trace/r/bugs_no_prot_none.result mysql-test/suite/opt_trace/r/charset.result mysql-test/suite/opt_trace/r/general2_no_prot.result mysql-test/suite/opt_trace/r/general2_ps_prot.result mysql-test/suite/opt_trace/r/general_no_prot_all.result mysql-test/suite/opt_trace/r/general_no_prot_none.result mysql-test/suite/opt_trace/r/range_no_prot.result mysql-test/suite/opt_trace/r/subquery_no_prot.result sql/filesort.cc sql/filesort_utils.h sql/handler.cc sql/opt_range.cc sql/sql_class.h sql/sql_join_buffer.cc sql/sql_join_buffer.h sql/sql_optimizer.cc sql/sql_optimizer.h sql/sql_select.cc sql/structs.h sql/sys_vars.cc sql/table.h unittest/gunit/filesort_buffer-t.cc === modified file 'mysql-test/suite/opt_trace/r/bugs_ps_prot_all.result' --- a/mysql-test/suite/opt_trace/r/bugs_ps_prot_all.result 2012-01-27 13:57:29 +0000 +++ b/mysql-test/suite/opt_trace/r/bugs_ps_prot_all.result 2012-01-30 09:05:57 +0000 @@ -2178,6 +2178,7 @@ SELECT 1 FROM t1 WHERE 1 LIKE "range_scan_alternatives": [ { "index": "a", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= a <= 1" ] /* ranges */, @@ -2190,6 +2191,7 @@ SELECT 1 FROM t1 WHERE 1 LIKE }, { "index": "a_2", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= a <= 1" ] /* ranges */, === modified file 'mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result' --- a/mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result 2011-11-29 08:41:50 +0000 +++ b/mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result 2012-01-30 08:57:24 +0000 @@ -1659,6 +1659,7 @@ SELECT 1 FROM t1 WHERE 1 LIKE "range_scan_alternatives": [ { "index": "a", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= a <= 1" ] /* ranges */, @@ -1671,6 +1672,7 @@ SELECT 1 FROM t1 WHERE 1 LIKE }, { "index": "a_2", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= a <= 1" ] /* ranges */, === modified file 'mysql-test/suite/opt_trace/r/general2_ps_prot.result' --- a/mysql-test/suite/opt_trace/r/general2_ps_prot.result 2012-01-20 15:30:14 +0000 +++ b/mysql-test/suite/opt_trace/r/general2_ps_prot.result 2012-01-30 08:57:24 +0000 @@ -359,6 +359,7 @@ TRACE "range_scan_alternatives": [ { "index": "a", + "index_dives_for_eq_ranges": true, "ranges": [ "12 < a" ] /* ranges */, @@ -4110,6 +4111,7 @@ select replace(t3._field_140, "\r","^M") "range_scan_alternatives": [ { "index": "PRIMARY", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= seq_0_id <= 1" ] /* ranges */, @@ -4197,6 +4199,7 @@ select replace(t3._field_140, "\r","^M") "range_scan_alternatives": [ { "index": "PRIMARY", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= seq_0_id <= 1" ] /* ranges */, @@ -4294,6 +4297,7 @@ select replace(t3._field_140, "\r","^M") "range_scan_alternatives": [ { "index": "PRIMARY", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= seq_0_id <= 1" ] /* ranges */, === modified file 'mysql-test/suite/opt_trace/r/general_ps_prot_all.result' --- a/mysql-test/suite/opt_trace/r/general_ps_prot_all.result 2011-11-22 13:47:46 +0000 +++ b/mysql-test/suite/opt_trace/r/general_ps_prot_all.result 2012-01-30 08:57:24 +0000 @@ -1516,6 +1516,7 @@ explain SELECT c FROM t5 where c+1 in (s "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "NULL <= d <= NULL" ] /* ranges */, @@ -1891,6 +1892,7 @@ explain SELECT c FROM t5 where c+1 in (s "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "NULL <= d <= NULL" ] /* ranges */, @@ -6708,6 +6710,7 @@ update t6 set d=5 where d is NULL { "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "NULL <= d <= NULL" ] /* ranges */, @@ -6772,6 +6775,7 @@ delete from t6 where d=5 { "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "5 <= d <= 5" ] /* ranges */, @@ -6896,6 +6900,7 @@ insert into t6 select * from t6 where d> "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "7 < d" ] /* ranges */, @@ -7083,6 +7088,7 @@ update t5, t6 set t6.d=t6.d+t5.c+4-t5.c- "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "7000 < d" ] /* ranges */, @@ -7287,6 +7293,7 @@ delete t6 from t5, t6 where d>7000 { "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "7000 < d" ] /* ranges */, @@ -7715,6 +7722,7 @@ select * from t6 where d in (select f1() "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "3 <= d <= 3" ] /* ranges */, @@ -8398,6 +8406,7 @@ select d into res from t6 where d in (se "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "3 <= d <= 3" ] /* ranges */, @@ -9128,6 +9137,7 @@ insert into t2 select d,100,200 from t6 "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "NULL < d" ] /* ranges */, @@ -10021,6 +10031,7 @@ select d into res from t6 where d in (se "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "3 <= d <= 3" ] /* ranges */, === modified file 'mysql-test/suite/opt_trace/r/general_ps_prot_none.result' --- a/mysql-test/suite/opt_trace/r/general_ps_prot_none.result 2011-11-30 11:36:14 +0000 +++ b/mysql-test/suite/opt_trace/r/general_ps_prot_none.result 2012-01-30 08:57:24 +0000 @@ -1563,6 +1563,7 @@ explain SELECT c FROM t5 where c+1 in (s "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "NULL <= d <= NULL" ] /* ranges */, @@ -1852,6 +1853,7 @@ explain SELECT c FROM t5 where c+1 in (s "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "NULL <= d <= NULL" ] /* ranges */, @@ -5954,6 +5956,7 @@ update t6 set d=5 where d is NULL { "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "NULL <= d <= NULL" ] /* ranges */, @@ -6018,6 +6021,7 @@ delete from t6 where d=5 { "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "5 <= d <= 5" ] /* ranges */, @@ -6142,6 +6146,7 @@ insert into t6 select * from t6 where d> "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "7 < d" ] /* ranges */, @@ -6329,6 +6334,7 @@ update t5, t6 set t6.d=t6.d+t5.c+4-t5.c- "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "7000 < d" ] /* ranges */, @@ -6533,6 +6539,7 @@ delete t6 from t5, t6 where d>7000 { "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "7000 < d" ] /* ranges */, @@ -8333,6 +8340,7 @@ insert into t2 select d,100,200 from t6 "range_scan_alternatives": [ { "index": "d", + "index_dives_for_eq_ranges": true, "ranges": [ "NULL < d" ] /* ranges */, === modified file 'mysql-test/suite/opt_trace/r/range_ps_prot.result' --- a/mysql-test/suite/opt_trace/r/range_ps_prot.result 2011-12-01 14:12:10 +0000 +++ b/mysql-test/suite/opt_trace/r/range_ps_prot.result 2012-01-30 08:57:24 +0000 @@ -157,6 +157,7 @@ EXPLAIN SELECT * FROM t1 WHERE key2 < 5 "range_scan_alternatives": [ { "index": "i2", + "index_dives_for_eq_ranges": true, "ranges": [ "key2 < 5", "1020 < key2" @@ -529,6 +530,7 @@ EXPLAIN SELECT * FROM t1 WHERE key1 < 3 "range_scan_alternatives": [ { "index": "i1", + "index_dives_for_eq_ranges": true, "ranges": [ "key1 < 3" ] /* ranges */, @@ -546,6 +548,7 @@ EXPLAIN SELECT * FROM t1 WHERE key1 < 3 "range_scan_alternatives": [ { "index": "i2", + "index_dives_for_eq_ranges": true, "ranges": [ "1020 < key2" ] /* ranges */, @@ -1233,6 +1236,7 @@ GROUP BY key2 { { "index": "i2_1", "covering": true, + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= key2 <= 1", "2 <= key2 <= 2", @@ -1246,6 +1250,7 @@ GROUP BY key2 { { "index": "i2_2", "covering": true, + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= key2 <= 1", "2 <= key2 <= 2", @@ -1283,6 +1288,7 @@ GROUP BY key2 { "range_scan_alternatives": [ { "index": "i2_1", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= key2 <= 1", "2 <= key2 <= 2", @@ -1298,6 +1304,7 @@ GROUP BY key2 { }, { "index": "i2_2", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= key2 <= 1", "2 <= key2 <= 2", @@ -1540,6 +1547,7 @@ EXPLAIN SELECT * FROM t2 WHERE key2 = 1 "range_scan_alternatives": [ { "index": "i2_1", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= key2 <= 1" ] /* ranges */, @@ -1551,6 +1559,7 @@ EXPLAIN SELECT * FROM t2 WHERE key2 = 1 }, { "index": "i2_2", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= key2 <= 1" ] /* ranges */, @@ -1787,6 +1796,7 @@ EXPLAIN SELECT * FROM t1 WHERE key2=10 O "range_scan_alternatives": [ { "index": "i2", + "index_dives_for_eq_ranges": true, "ranges": [ "10 <= key2 <= 10" ] /* ranges */, @@ -1804,6 +1814,7 @@ EXPLAIN SELECT * FROM t1 WHERE key2=10 O "range_scan_alternatives": [ { "index": "i3", + "index_dives_for_eq_ranges": true, "ranges": [ "3 <= key3 <= 3" ] /* ranges */, @@ -2217,6 +2228,7 @@ EXPLAIN SELECT * FROM t2 WHERE key1a = 5 "range_scan_alternatives": [ { "index": "PRIMARY", + "index_dives_for_eq_ranges": true, "ranges": [ "5 <= key1a <= 5 AND key1b < 10" ] /* ranges */, @@ -2228,6 +2240,7 @@ EXPLAIN SELECT * FROM t2 WHERE key1a = 5 }, { "index": "i1b", + "index_dives_for_eq_ranges": true, "ranges": [ "key1b < 10 AND 5 <= key1a <= 5" ] /* ranges */, @@ -2435,6 +2448,7 @@ EXPLAIN SELECT * FROM t2 WHERE (key1a = "range_scan_alternatives": [ { "index": "PRIMARY", + "index_dives_for_eq_ranges": true, "ranges": [ "4 <= key1a <= 4 AND 3 < key1b < 7", "5 <= key1a <= 5 AND 2 < key1b < 10" @@ -2447,6 +2461,7 @@ EXPLAIN SELECT * FROM t2 WHERE (key1a = }, { "index": "i1b", + "index_dives_for_eq_ranges": true, "ranges": [ "2 < key1b <= 3 AND 5 <= key1a <= 5", "3 < key1b < 7", @@ -2650,6 +2665,7 @@ EXPLAIN SELECT * FROM t2 WHERE (key1b < "range_scan_alternatives": [ { "index": "PRIMARY", + "index_dives_for_eq_ranges": true, "ranges": [ "4 <= key1a <= 4 AND 7 < key1b < 10", "5 <= key1a <= 5 AND 7 < key1b < 10" @@ -2662,6 +2678,7 @@ EXPLAIN SELECT * FROM t2 WHERE (key1b < }, { "index": "i1b", + "index_dives_for_eq_ranges": true, "ranges": [ "7 < key1b < 10 AND 4 <= key1a <= 4", "7 < key1b < 10 AND 5 <= key1a <= 5" @@ -2882,6 +2899,7 @@ EXPLAIN SELECT * FROM t1 WHERE (key1 > 1 "range_scan_alternatives": [ { "index": "i1", + "index_dives_for_eq_ranges": true, "ranges": [ "1 < key1" ] /* ranges */, @@ -2900,6 +2918,7 @@ EXPLAIN SELECT * FROM t1 WHERE (key1 > 1 "range_scan_alternatives": [ { "index": "i2", + "index_dives_for_eq_ranges": true, "ranges": [ "2 < key2" ] /* ranges */, @@ -3129,6 +3148,7 @@ WHERE t1.key1=t2.key1a AND t1.key2 > 102 "range_scan_alternatives": [ { "index": "i2", + "index_dives_for_eq_ranges": true, "ranges": [ "1020 < key2" ] /* ranges */, @@ -3384,6 +3404,7 @@ EXPLAIN SELECT * FROM t1 WHERE cola = 'f "range_scan_alternatives": [ { "index": "cola", + "index_dives_for_eq_ranges": true, "ranges": [ "foo <= cola <= foo" ] /* ranges */, @@ -3395,6 +3416,7 @@ EXPLAIN SELECT * FROM t1 WHERE cola = 'f }, { "index": "colb", + "index_dives_for_eq_ranges": true, "ranges": [ "bar <= colb <= bar" ] /* ranges */, @@ -3637,6 +3659,7 @@ EXPLAIN SELECT * FROM t1 WHERE cola = 'f "range_scan_alternatives": [ { "index": "cola", + "index_dives_for_eq_ranges": true, "ranges": [ "f\no <= cola <= f\no" ] /* ranges */, @@ -4510,6 +4533,7 @@ EXPLAIN SELECT * FROM t1 WHERE i1 > '2' "range_scan_alternatives": [ { "index": "k1", + "index_dives_for_eq_ranges": true, "ranges": [ "2 < i1" ] /* ranges */, @@ -4521,6 +4545,7 @@ EXPLAIN SELECT * FROM t1 WHERE i1 > '2' }, { "index": "k2", + "index_dives_for_eq_ranges": true, "ranges": [ "2 < i1" ] /* ranges */, @@ -4662,6 +4687,7 @@ EXPLAIN SELECT * FROM t1 WHERE i1 > '2' "range_scan_alternatives": [ { "index": "k2", + "index_dives_for_eq_ranges": true, "ranges": [ "2 < i1" ] /* ranges */, @@ -4807,6 +4833,7 @@ EXPLAIN SELECT DISTINCT i1 FROM t1 WHERE { "index": "k1", "covering": true, + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= i1" ] /* ranges */, @@ -4816,6 +4843,7 @@ EXPLAIN SELECT DISTINCT i1 FROM t1 WHERE { "index": "k2", "covering": true, + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= i1" ] /* ranges */, @@ -4846,6 +4874,7 @@ EXPLAIN SELECT DISTINCT i1 FROM t1 WHERE "range_scan_alternatives": [ { "index": "k1", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= i1" ] /* ranges */, @@ -4858,6 +4887,7 @@ EXPLAIN SELECT DISTINCT i1 FROM t1 WHERE }, { "index": "k2", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= i1" ] /* ranges */, @@ -4969,6 +4999,7 @@ EXPLAIN SELECT DISTINCT i1 FROM t1 WHERE "range_scan_alternatives": [ { "index": "k1", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= i1" ] /* ranges */, @@ -5203,6 +5234,7 @@ EXPLAIN SELECT v FROM t1 WHERE i1 = 1 AN "range_scan_alternatives": [ { "index": "PRIMARY", + "index_dives_for_eq_ranges": true, "ranges": [ "pk < 3" ] /* ranges */, @@ -5215,6 +5247,7 @@ EXPLAIN SELECT v FROM t1 WHERE i1 = 1 AN }, { "index": "i1_idx", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= i1 <= 1" ] /* ranges */, @@ -5227,6 +5260,7 @@ EXPLAIN SELECT v FROM t1 WHERE i1 = 1 AN }, { "index": "v_idx", + "index_dives_for_eq_ranges": true, "ranges": [ "a <= v <= a AND 1 <= i1 <= 1" ] /* ranges */, @@ -5507,6 +5541,7 @@ EXPLAIN SELECT v FROM t1 WHERE i1 = 1 AN "range_scan_alternatives": [ { "index": "PRIMARY", + "index_dives_for_eq_ranges": true, "ranges": [ "pk < 3" ] /* ranges */, @@ -5518,6 +5553,7 @@ EXPLAIN SELECT v FROM t1 WHERE i1 = 1 AN }, { "index": "v_idx", + "index_dives_for_eq_ranges": true, "ranges": [ "a <= v <= a AND 1 <= i1 <= 1" ] /* ranges */, @@ -5529,6 +5565,7 @@ EXPLAIN SELECT v FROM t1 WHERE i1 = 1 AN }, { "index": "i1_i2_idx", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= i2 <= 1 AND 1 <= i1 <= 1" ] /* ranges */, @@ -5782,6 +5819,7 @@ EXPLAIN SELECT MAX(b), a FROM t1 WHERE b { "index": "PRIMARY", "covering": true, + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= a <= 1 AND b < 2" ] /* ranges */, @@ -5816,6 +5854,7 @@ EXPLAIN SELECT MAX(b), a FROM t1 WHERE b "range_scan_alternatives": [ { "index": "PRIMARY", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= a <= 1 AND b < 2" ] /* ranges */, @@ -5828,6 +5867,7 @@ EXPLAIN SELECT MAX(b), a FROM t1 WHERE b }, { "index": "b", + "index_dives_for_eq_ranges": true, "ranges": [ "b < 2" ] /* ranges */, @@ -6079,6 +6119,7 @@ EXPLAIN SELECT * FROM t1 WHERE c1 = '1' "range_scan_alternatives": [ { "index": "k1", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= c1 <= 1" ] /* ranges */, @@ -6090,6 +6131,7 @@ EXPLAIN SELECT * FROM t1 WHERE c1 = '1' }, { "index": "k2", + "index_dives_for_eq_ranges": true, "ranges": [ "1 <= c1 <= 1" ] /* ranges */, === modified file 'mysql-test/suite/opt_trace/r/subquery_ps_prot.result' --- a/mysql-test/suite/opt_trace/r/subquery_ps_prot.result 2012-01-10 18:58:10 +0000 +++ b/mysql-test/suite/opt_trace/r/subquery_ps_prot.result 2012-01-30 08:57:24 +0000 @@ -1247,6 +1247,7 @@ field4,field5,field6 { "range_scan_alternatives": [ { "index": "col_int_key", + "index_dives_for_eq_ranges": true, "ranges": [ "NULL < col_int_key < 214", "214 < col_int_key" @@ -1953,6 +1954,7 @@ table2.`col_int_nokey` <> any ( select 5 "range_scan_alternatives": [ { "index": "PRIMARY", + "index_dives_for_eq_ranges": true, "ranges": [ "18 <= pk <= 18", "192 <= pk <= 192" No bundle (reason: useless for push emails).