• Sergei Golubchik's avatar
    few small MySQL bugs/issues that impact the engines, as discussed in the SE summit · ac6b3c44
    Sergei Golubchik authored
    * remove handler::index_read_last()
    * create handler::keyread_read_time() (was get_index_only_read_time() in opt_range.cc)
    * ha_show_status() allows engine's show_status() to fail
    * remove HTON_FLUSH_AFTER_RENAME
    * fix key_cmp_if_same() to work for floats and doubles
    * set table->status in the server, don't force engines to do it
    * increment status vars in the server, don't force engines to do it
    
    mysql-test/r/status_user.result:
      correct test results - innodb was wrongly counting internal
      index searches as handler_read_* calls.
    sql/ha_partition.cc:
      compensate for handler incrementing status counters -
      we want to count only calls to underlying engines
    sql/handler.h:
      inline methods moved to sql_class.h
    sql/key.cc:
      simplify the check
    sql/opt_range.cc:
      move get_index_only_read_time to the handler class
    sql/sp.cc:
      don't use a key that's stored in the record buffer -
      the engine can overwrite the buffer with anything, destroying the key
    sql/sql_class.h:
      inline handler methods that need to see THD and TABLE definitions
    sql/sql_select.cc:
      no ha_index_read_last_map anymore
    sql/sql_table.cc:
      remove HTON_FLUSH_AFTER_RENAME
    sql/table.cc:
      set HA_CAN_MEMCMP as appropriate
    sql/tztime.cc:
      don't use a key that's stored in the record buffer -
      the engine can overwrite the buffer with anything, destroying the key
    storage/myisam/ha_myisam.cc:
      engines don't need to update table->status or use ha_statistic_increment anymore
    storage/myisam/ha_myisam.h:
      index_read_last_map is no more
    ac6b3c44
handler.h 82.2 KB