• aivanov@mysql.com's avatar
    item_cmpfunc.h: · fa51afed
    aivanov@mysql.com authored
      Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
       for some expressions.
       The classes Item_func_between, Item_func_if, Item_func_in are modified.
       Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
       The class Item_func_opt_neg is added to factor out the functionality
       common for the modified classes Item_func_between and Item_func_in.
    item_cmpfunc.cc:
      Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
       for some expressions.
       Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
       Item_func_in::fix_fields(). They correct generic calculation of
       the not_null_tables attribute when it is needed.
       Modified Item_func_between::val_int(), Item_func_in::val_int().
    opt_range.cc:
      Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
       for some expressions.
       The function get_mm_tree() is modified. There cannot be NOT before
       BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
       now [NOT]BETWEEN/IN expressions.
    sql_yacc.yy:
      Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
       for some expressions.
       Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
    join_outer.result:
      Fixed some testcases results (bugs #12101, #12102)
    join_outer.test:
      Added testcases for bugs #12101, #12102
    fa51afed
opt_range.cc 80.8 KB