diff options
author | Igor Babaev <igor@askmonty.org> | 2011-01-24 14:54:50 -0800 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2011-01-24 14:54:50 -0800 |
commit | edeeb023bc2311876e6b57d0d22893e4adf6e018 (patch) | |
tree | c4e6e0642b602e7f73ddd666509c04bda24df020 /mysql-test/t/join_cache.test | |
parent | b251d8a4c88e57a05fdad0a84b712a29c5c9a999 (diff) | |
download | mariadb-git-edeeb023bc2311876e6b57d0d22893e4adf6e018.tar.gz |
Post-second-review fixes for the patch that added the code allowing to use
hash join over equi-join conditions without supporting indexes.
Diffstat (limited to 'mysql-test/t/join_cache.test')
-rw-r--r-- | mysql-test/t/join_cache.test | 122 |
1 files changed, 82 insertions, 40 deletions
diff --git a/mysql-test/t/join_cache.test b/mysql-test/t/join_cache.test index bbfe2c329be..94d9b9d90a9 100644 --- a/mysql-test/t/join_cache.test +++ b/mysql-test/t/join_cache.test @@ -46,14 +46,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; set join_cache_level=2; show variables like 'join_cache_level'; @@ -73,14 +75,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; set join_cache_level=3; show variables like 'join_cache_level'; @@ -100,14 +104,18 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; + SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; + set join_cache_level=4; show variables like 'join_cache_level'; @@ -127,14 +135,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; set join_cache_level=default; @@ -158,14 +168,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; set join_cache_level=2; show variables like 'join_cache_level'; @@ -185,14 +197,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; set join_cache_level=3; show variables like 'join_cache_level'; @@ -212,14 +226,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; set join_cache_level=4; show variables like 'join_cache_level'; @@ -239,14 +255,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; set join_cache_level=default; set join_buffer_size=default; @@ -290,14 +308,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -340,14 +360,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -391,14 +413,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -440,14 +464,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -489,14 +515,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -538,14 +566,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -590,14 +620,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -626,14 +658,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -662,14 +696,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -698,14 +734,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -734,14 +772,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City @@ -770,14 +810,16 @@ SELECT City.Name, Country.Name, CountryLanguage.Language WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; SELECT City.Name, Country.Name, CountryLanguage.Language FROM City,Country,CountryLanguage WHERE City.Country=Country.Code AND CountryLanguage.Country=Country.Code AND City.Name LIKE 'L%' AND Country.Population > 3000000 AND - CountryLanguage.Percentage > 50; + CountryLanguage.Percentage > 50 AND + LENGTH(Language) < LENGTH(City.Name) - 2; EXPLAIN SELECT Name FROM City |