mariadb/storage/innobase/row
Eugene Kosov afc9d00c66 MDEV-23991 dict_table_stats_lock() has unnecessarily long scope
Patch removes dict_index_t::stats_latch. Table/index statistics now
protected with dict_sys->mutex. That way statistics computation can
happen in parallel in several threads and dict_sys->mutex will be locked
only for a short period of time.

This patch is a joint work with Marko Mäkelä

dict_index_t:🔒 make mutable which allows to pass const pointer
when only lock is touched in an object

btr_height_get()
btr_get_size(): make index argument const for better type safety

btr_estimate_number_of_different_key_vals(): now returns computed values
instead of setting fields in dict_index_t directly

remove everything related to dict_index_t::stats_latch

dict_stats_index_set_n_diff(): now returns computed values instead
of setting fields in dict_index_t directly

dict_stats_analyze_index():  now returns computed values instead
of setting fields in dict_index_t directly

Reviewed by: Marko Mäkelä
2020-10-27 19:09:20 +03:00
..
row0ext.cc MDEV-20377: Make WITH_MSAN more usable 2020-07-01 17:23:00 +03:00
row0ftsort.cc MDEV-20377: Make WITH_MSAN more usable 2020-07-01 17:23:00 +03:00
row0import.cc Merge 10.1 into 10.2 2020-07-20 14:53:24 +03:00
row0ins.cc Merge 10.1 into 10.2 2020-10-21 14:02:04 +03:00
row0log.cc MDEV-20377: Make WITH_MSAN more usable 2020-07-01 17:23:00 +03:00
row0merge.cc Cleanup: Avoid repeated calls to dict_col_t::is_virtual() 2020-09-01 15:53:47 +03:00
row0mysql.cc MDEV-23991 dict_table_stats_lock() has unnecessarily long scope 2020-10-27 19:09:20 +03:00
row0purge.cc MDEV-22769 Shutdown hang or crash due to XA breaking locks 2020-06-05 15:22:46 +03:00
row0quiesce.cc Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
row0row.cc MDEV-21595: innodb offset_t rename to rec_offs 2020-04-29 12:02:47 +03:00
row0sel.cc Merge 10.1 into 10.2 2020-10-21 14:02:04 +03:00
row0trunc.cc MDEV-23475 InnoDB performance regression for write-heavy workloads 2020-08-19 11:18:56 +03:00
row0uins.cc MDEV-23991 dict_table_stats_lock() has unnecessarily long scope 2020-10-27 19:09:20 +03:00
row0umod.cc Revert MDEV-23484 Rollback unnecessarily acquires dict_operation_lock 2020-10-20 19:55:16 +03:00
row0undo.cc Revert MDEV-23484 Rollback unnecessarily acquires dict_operation_lock 2020-10-20 19:55:16 +03:00
row0upd.cc MDEV-20618 Assertion failed in row_upd_sec_index_entry 2020-09-01 18:27:09 +10:00
row0vers.cc MDEV-20618 Assertion failed in row_upd_sec_index_entry 2020-09-01 18:27:09 +10:00