• Alexander Barkov's avatar
    MDEV-7950 Item_func::type() takes 0.26% in OLTP RO · 462bca36
    Alexander Barkov authored
    Step 2c:
    
    After discussion with Igor, it appeared that Item_field and Item_ref
    could not appear in this context in the old function build_equal_item_for_cond:
    
      else if (cond->type() == Item::FUNC_ITEM ||
               cond->real_item()->type() == Item::FIELD_ITEM)
    
    The part of the condition checking for Item_field::FIELD_ITEM was a dead code.
    - Moving implementation of Item_ident_or_func_or_sum::build_equal_items()
    to Item_func::build_equal_items()
    - Restoring deriving of Item_ident and Item_sum_or_func from Item_result_field.
      Removing Item_ident_or_func_or_sum.
    462bca36
item_func.h 64.3 KB