• Igor Babaev's avatar
    Fixed bug #52636. · 21b1b5f0
    Igor Babaev authored
    Applied the fix for bug #47217 from the mysql-6.0 codebase.
    The patch adds not null predicates generated for the left parts
    of the equality predicates used for ref accesses. This is done
    for such predicates both in where conditions and on conditions.
    For the where conditions the not null predicates were generated
    but in 5.0/5.1 they actually never were used due to some lame
    merge from 4.1 to 5.0. The fix for bug #47217 made these 
    predicates to be used in the condition pushed to the tables.
    Yet only this patch generates not null predicates for equality
    predicated from on conditions of outer joins.
    This patch introduces a performance regression that can be
    observed on a test case from null_key.test. The regression
    will disappear after the fix for bug #57024 from mariadb-5.1
    is pulled into mariadb-5.3.
    The patch contains many changes in the outputs of the EXPLAIN 
    commands since generated not null predicates are considered as
    parts of the conditions pushed to join tables and may add
    'Usingwhere' in some rows of EXPLAINs where there used
    to be no such comments.
    21b1b5f0
join.test 36.7 KB