• Alexey Kopytov's avatar
    Addendum patch for bug #54190. · da7646b6
    Alexey Kopytov authored
    The patch caused some test failures when merged to 5.5 because,
    unlike 5.1, it utilizes Item_cache_row to actually cache row
    values. The problem was that Item_cache_row::bring_value()
    essentially did nothing. In particular, it did not update its
    null_value, so all Item_cache_row objects were always having
    their null_values set to TRUE. This went unnoticed previously,
    but now when Arg_comparator::compare_row() actually depends on
    the row's null_value to evaluate the comparison, the problem
    has surfaced.
    
    Fixed by calling the underlying item's bring_value() and
    updating null_value in Item_cache_row::bring_value().
    
    Since the problem also exists in 5.1 code (albeit hidden, since
    the relevant code is not used anywhere), the addendum patch is
    against 5.1.
    da7646b6
item.cc 212 KB