diff options
-rw-r--r-- | mysql-test/r/join_cache.result | 80 | ||||
-rw-r--r-- | mysql-test/r/subselect_sj2.result | 4 | ||||
-rw-r--r-- | mysql-test/r/subselect_sj2_jcl6.result | 4 | ||||
-rw-r--r-- | mysql-test/r/subselect_sj_jcl6.result | 14 | ||||
-rw-r--r-- | sql/sql_join_cache.cc | 5 |
5 files changed, 56 insertions, 51 deletions
diff --git a/mysql-test/r/join_cache.result b/mysql-test/r/join_cache.result index ca1558610b6..730bd08a430 100644 --- a/mysql-test/r/join_cache.result +++ b/mysql-test/r/join_cache.result @@ -823,12 +823,7 @@ Country.Population > 10000000; Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) Australia 81.2 United Kingdom 97.3 -Canada 60.4 -United States 86.2 -Zimbabwe 2.2 -Japan 0.1 South Africa 8.5 -Malaysia 1.6 Afghanistan NULL Netherlands NULL Algeria NULL @@ -843,6 +838,8 @@ Ecuador NULL Egypt NULL Spain NULL Ethiopia NULL +Canada 60.4 +Japan 0.1 Philippines NULL Ghana NULL Guatemala NULL @@ -859,6 +856,7 @@ Kazakstan NULL Kenya NULL China NULL Colombia NULL +Malaysia 1.6 Congo, The Democratic Republic of the NULL North Korea NULL South Korea NULL @@ -893,6 +891,8 @@ Czech Republic NULL Turkey NULL Uganda NULL Ukraine NULL +United States 86.2 +Zimbabwe 2.2 Hungary NULL Uzbekistan NULL Belarus NULL @@ -1023,12 +1023,7 @@ Country.Population > 10000000; Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) Australia 81.2 United Kingdom 97.3 -Canada 60.4 -United States 86.2 -Zimbabwe 2.2 -Japan 0.1 South Africa 8.5 -Malaysia 1.6 Afghanistan NULL Netherlands NULL Algeria NULL @@ -1043,6 +1038,8 @@ Ecuador NULL Egypt NULL Spain NULL Ethiopia NULL +Canada 60.4 +Japan 0.1 Philippines NULL Ghana NULL Guatemala NULL @@ -1059,6 +1056,7 @@ Kazakstan NULL Kenya NULL China NULL Colombia NULL +Malaysia 1.6 Congo, The Democratic Republic of the NULL North Korea NULL South Korea NULL @@ -1093,6 +1091,8 @@ Czech Republic NULL Turkey NULL Uganda NULL Ukraine NULL +United States 86.2 +Zimbabwe 2.2 Hungary NULL Uzbekistan NULL Belarus NULL @@ -1173,9 +1173,9 @@ Leverkusen Germany German Luchou Taiwan Min Lungtan Taiwan Min Lower Hutt New Zealand English -Los Teques Venezuela Spanish Leninsk-Kuznetski Russian Federation Russian Los Angeles United States English +Los Teques Venezuela Spanish Long Beach United States English Lexington-Fayette United States English Louisville United States English @@ -1223,12 +1223,9 @@ Country.Population > 10000000; Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) Australia 81.2 United Kingdom 97.3 +South Africa 8.5 Canada 60.4 -United States 86.2 -Zimbabwe 2.2 Japan 0.1 -South Africa 8.5 -Malaysia 1.6 Afghanistan NULL Netherlands NULL Algeria NULL @@ -1257,6 +1254,7 @@ Cambodia NULL Cameroon NULL Kazakstan NULL Kenya NULL +Malaysia 1.6 China NULL Colombia NULL Congo, The Democratic Republic of the NULL @@ -1289,6 +1287,8 @@ Syria NULL Taiwan NULL Tanzania NULL Thailand NULL +United States 86.2 +Zimbabwe 2.2 Czech Republic NULL Turkey NULL Uganda NULL @@ -1370,13 +1370,13 @@ Leverkusen Germany German Luchou Taiwan Min Lungtan Taiwan Min Lower Hutt New Zealand English -Los Teques Venezuela Spanish Leninsk-Kuznetski Russian Federation Russian Los Angeles United States English Long Beach United States English Lexington-Fayette United States English Louisville United States English Little Rock United States English +Los Teques Venezuela Spanish EXPLAIN SELECT Name FROM City WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE 'L%') AND @@ -1420,12 +1420,9 @@ Country.Population > 10000000; Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) Australia 81.2 United Kingdom 97.3 +South Africa 8.5 Canada 60.4 -United States 86.2 -Zimbabwe 2.2 Japan 0.1 -South Africa 8.5 -Malaysia 1.6 Afghanistan NULL Netherlands NULL Algeria NULL @@ -1454,6 +1451,7 @@ Cambodia NULL Cameroon NULL Kazakstan NULL Kenya NULL +Malaysia 1.6 China NULL Colombia NULL Congo, The Democratic Republic of the NULL @@ -1486,6 +1484,8 @@ Syria NULL Taiwan NULL Tanzania NULL Thailand NULL +United States 86.2 +Zimbabwe 2.2 Czech Republic NULL Turkey NULL Uganda NULL @@ -1567,9 +1567,9 @@ Leverkusen Germany German Luchou Taiwan Min Lungtan Taiwan Min Lower Hutt New Zealand English -Los Teques Venezuela Spanish Leninsk-Kuznetski Russian Federation Russian Los Angeles United States English +Los Teques Venezuela Spanish Long Beach United States English Lexington-Fayette United States English Louisville United States English @@ -1617,12 +1617,7 @@ Country.Population > 10000000; Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) Australia 81.2 United Kingdom 97.3 -Canada 60.4 -United States 86.2 -Zimbabwe 2.2 -Japan 0.1 South Africa 8.5 -Malaysia 1.6 Afghanistan NULL Netherlands NULL Algeria NULL @@ -1641,6 +1636,8 @@ Philippines NULL Ghana NULL Guatemala NULL Indonesia NULL +Japan 0.1 +Canada 60.4 India NULL Iraq NULL Iran NULL @@ -1660,6 +1657,7 @@ Greece NULL Cuba NULL Madagascar NULL Malawi NULL +Malaysia 1.6 Mali NULL Morocco NULL Mexico NULL @@ -1680,6 +1678,8 @@ Somalia NULL Sri Lanka NULL Sudan NULL Syria NULL +United States 86.2 +Zimbabwe 2.2 Taiwan NULL Tanzania NULL Thailand NULL @@ -1764,13 +1764,13 @@ Leverkusen Germany German Luchou Taiwan Min Lungtan Taiwan Min Lower Hutt New Zealand English -Los Teques Venezuela Spanish Leninsk-Kuznetski Russian Federation Russian Los Angeles United States English Long Beach United States English Lexington-Fayette United States English Louisville United States English Little Rock United States English +Los Teques Venezuela Spanish EXPLAIN SELECT Name FROM City WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE 'L%') AND @@ -1814,12 +1814,7 @@ Country.Population > 10000000; Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) Australia 81.2 United Kingdom 97.3 -Canada 60.4 -United States 86.2 -Zimbabwe 2.2 -Japan 0.1 South Africa 8.5 -Malaysia 1.6 Afghanistan NULL Netherlands NULL Algeria NULL @@ -1838,6 +1833,8 @@ Philippines NULL Ghana NULL Guatemala NULL Indonesia NULL +Japan 0.1 +Canada 60.4 India NULL Iraq NULL Iran NULL @@ -1857,6 +1854,7 @@ Greece NULL Cuba NULL Madagascar NULL Malawi NULL +Malaysia 1.6 Mali NULL Morocco NULL Mexico NULL @@ -1877,6 +1875,8 @@ Somalia NULL Sri Lanka NULL Sudan NULL Syria NULL +United States 86.2 +Zimbabwe 2.2 Taiwan NULL Tanzania NULL Thailand NULL @@ -3537,10 +3537,10 @@ WHERE t1.id1=t5.id1 AND t1.id2=t5.id2 and t4.id2=t1.id2 AND t5.enum2='Active' AND t3.id4=t2.id4 AND t2.id3=t1.id3 AND t3.text1<'D'; id1 num3 text1 id4 id3 dummy 228172702 14 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2567095402 2667134182 0 -228172702 134 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2567095402 2667134182 0 228172702 15 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2567095402 2667134182 0 228172702 3 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2567095402 2667134182 0 -228808822 61 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 +228172702 134 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2567095402 2667134182 0 +228808822 17 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 228808822 13 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 228808822 60 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 228808822 13 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 @@ -3550,9 +3550,9 @@ id1 num3 text1 id4 id3 dummy 228808822 18 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 228808822 1 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 228808822 3 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 -228808822 17 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 -228808822 50 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 228808822 4 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 +228808822 50 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 +228808822 61 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 826928662 935693782 0 228808822 89 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 228808822 19 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 228808822 9 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 @@ -3560,13 +3560,13 @@ id1 num3 text1 id4 id3 dummy 228808822 14 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 228808822 1 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 228808822 10 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 -228808822 26 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 +228808822 28 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 +228808822 62 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 +228808822 1 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 228808822 4 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 228808822 3 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 -228808822 1 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 +228808822 26 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 228808822 3 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 -228808822 28 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 -228808822 62 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2381969632 2482416112 0 set join_buffer_size=default; set join_cache_level=default; DROP TABLE t1,t2,t3,t4,t5; diff --git a/mysql-test/r/subselect_sj2.result b/mysql-test/r/subselect_sj2.result index b87808353fb..308ec77688e 100644 --- a/mysql-test/r/subselect_sj2.result +++ b/mysql-test/r/subselect_sj2.result @@ -150,6 +150,7 @@ a mid(filler1, 1,10) Z 10 filler1234 1 11 filler1234 1 12 filler1234 1 +2 duplicate 1 13 filler1234 1 14 filler1234 1 15 filler1234 1 @@ -157,7 +158,6 @@ a mid(filler1, 1,10) Z 17 filler1234 1 18 filler1234 1 19 filler1234 1 -2 duplicate 1 18 duplicate 1 explain select a, mid(filler1, 1,10), length(filler1)=length(filler2) @@ -218,6 +218,7 @@ a mid(filler1, 1,10) Z 10 filler1234 1 11 filler1234 1 12 filler1234 1 +2 duplicate 1 13 filler1234 1 14 filler1234 1 15 filler1234 1 @@ -225,7 +226,6 @@ a mid(filler1, 1,10) Z 17 filler1234 1 18 filler1234 1 19 filler1234 1 -2 duplicate 1 18 duplicate 1 explain select a, mid(filler1, 1,10), length(filler1)=length(filler2) diff --git a/mysql-test/r/subselect_sj2_jcl6.result b/mysql-test/r/subselect_sj2_jcl6.result index c7e42bde485..4c953c67c65 100644 --- a/mysql-test/r/subselect_sj2_jcl6.result +++ b/mysql-test/r/subselect_sj2_jcl6.result @@ -155,6 +155,7 @@ a mid(filler1, 1,10) Z 8 filler1234 1 9 filler1234 1 10 filler1234 1 +2 duplicate 1 11 filler1234 1 12 filler1234 1 13 filler1234 1 @@ -164,7 +165,6 @@ a mid(filler1, 1,10) Z 17 filler1234 1 18 filler1234 1 19 filler1234 1 -2 duplicate 1 18 duplicate 1 explain select a, mid(filler1, 1,10), length(filler1)=length(filler2) @@ -223,6 +223,7 @@ a mid(filler1, 1,10) Z 8 filler1234 1 9 filler1234 1 10 filler1234 1 +2 duplicate 1 11 filler1234 1 12 filler1234 1 13 filler1234 1 @@ -232,7 +233,6 @@ a mid(filler1, 1,10) Z 17 filler1234 1 18 filler1234 1 19 filler1234 1 -2 duplicate 1 18 duplicate 1 explain select a, mid(filler1, 1,10), length(filler1)=length(filler2) diff --git a/mysql-test/r/subselect_sj_jcl6.result b/mysql-test/r/subselect_sj_jcl6.result index c26852abd74..f3fdace04a9 100644 --- a/mysql-test/r/subselect_sj_jcl6.result +++ b/mysql-test/r/subselect_sj_jcl6.result @@ -726,19 +726,19 @@ int_key 0 2 0 -7 -9 -9 -5 -2 0 +3 0 0 -3 7 7 -8 +7 +9 +2 +9 +5 0 +8 5 EXPLAIN SELECT int_key FROM ot1 diff --git a/sql/sql_join_cache.cc b/sql/sql_join_cache.cc index fbbcf395980..68cb0c86adb 100644 --- a/sql/sql_join_cache.cc +++ b/sql/sql_join_cache.cc @@ -235,8 +235,13 @@ psergey-merge: was: } } start_tab= tab; + /* while (start_tab->bush_children && start_tab != join_tab) start_tab++; + */ + if (start_tab->bush_children) + start_tab= start_tab->bush_children->start; + tab= start_tab; //tables= join_tab-tab; |