• Marko Mäkelä's avatar
    MDEV-33779 InnoDB row operations could be faster · e459ce83
    Marko Mäkelä authored
    We have quite a few assertions
    	ut_a(m_prebuilt->trx == thd_to_trx(ha_thd()));
    in low-level functions.
    These had better be debug assertions for performance reasons.
    It should suffice to check that condition in the less frequently invoked
    ha_innobase::change_active_index().
    
    convert_search_mode_to_innobase(): Return whether the mode is
    unsupported, and optionally update ha_innobase::m_last_match_mode.
    
    ha_innobase::index_read(): Only branch on find_flag once, and
    simplify the error handling after invoking row_search_mvcc().
    
    ha_innobase::rnd_pos(): Remove an assertion that is duplicating one
    in ha_innobase::index_read(), which we are calling unconditionally.
    
    ha_innobase::records_in_range(): Check only once whether
    min_key, max_key are null pointers.
    
    row_sel_convert_mysql_key_to_innobase(): Declare all parameters
    except the conversion buffer pointer (buf) to be nonnull.
    
    Reviewed by: Debarun Banerjee
    e459ce83
ha_innodb.cc 616 KB