• unknown's avatar
    fix for bug #1790: · 3f355523
    unknown authored
    "BIT_AND() result in GROUP BY different when SQL_BIG_RESULT used"
    
    return value of BIT_AND changed to BIGINT SIGNED
    Also the patch fixes another bug: when temporary table is in use and one of
    values in group is NULL, BIT_AND always returns zero.
    Fixed it to always skip null values.
    
    
    mysql-test/r/func_group.result:
      bug #1790: test results fixed
    sql/item_sum.cc:
      fix for bug #1790:
      update_field() rewritten to use add() and thus was moved
      to Item_sum_bit::update_field()
      Item_sum_bit::reset_field() was rewritten to take into account
      reset_bits.
    sql/item_sum.h:
      fix for bug #1790:
      Item_sum::update_field() and Item_sum::reset_field() commented
      Item_sum_and changed to return BIGINT SIGNED
      Item_sum_and::update_field() and Item_sum_or::update_field)
      were replaced with generic Item_sum_bit::update_field()
    3f355523
item_sum.h 15.1 KB