mariadb/extra/mariabackup
Marko Mäkelä 3c312d247c MDEV-35190 HASH_SEARCH duplicates effort before HASH_INSERT or HASH_DELETE
The HASH_ macros are unnecessarily obfuscating the logic,
so we had better replace them.

hash_cell_t::search(): Implement most of the HASH_DELETE logic,
for a subsequent insert or remove().

hash_cell_t::remove(): Remove an element.

hash_cell_t::find(): Implement the HASH_SEARCH logic.

xb_filter_hash_free(): Avoid any hash table lookup;
just traverse the hash bucket chains and free each element.

xb_register_filter_entry(): Search databases_hash only once.

rm_if_not_found(): Make use of find_filter_in_hashtable().

dict_sys_t::acquire_temporary_table(), dict_sys_t::find_table():
Define non-inline to avoid unnecessary code duplication.

dict_sys_t::add(dict_table_t *table), dict_table_rename_in_cache():
Look for duplicate while finding the insert position.

dict_table_change_id_in_cache(): Merged to the only caller
row_discard_tablespace().

hash_insert(): Helper function of dict_sys_t::resize().

fil_space_t::create(): Look for a duplicate (and crash if found)
when searching for the insert position.

lock_rec_discard(): Take the hash array cell as a parameter
to avoid a duplicated lookup.

lock_rec_free_all_from_discard_page(): Remove a parameter.

Reviewed by: Debarun Banerjee
2024-11-21 08:59:02 +02:00
..
quicklz
backup_copy.cc Merge 10.5 into 10.6 2024-10-03 09:31:39 +03:00
backup_copy.h MDEV-31905 GTID inconsistency 2023-12-22 00:10:23 +01:00
backup_debug.h
backup_mysql.cc Merge branch '10.5' into 10.6 2024-07-18 16:25:33 +02:00
backup_mysql.h Cleanup: Remove changed_pages_bitmap 2024-02-12 17:01:35 +02:00
backup_wsrep.h
CMakeLists.txt MDEV-33091 pcre2 headers aren't found on Solaris 2024-09-05 12:14:06 +10:00
common.h Fix a case of unused-but-set-variable 2024-02-13 14:00:26 +11:00
datasink.cc
datasink.h MDEV-31039 mariadb-backup: remove global variables ds_data and ds_meta 2023-04-12 15:14:03 +04:00
ds_buffer.cc
ds_buffer.h
ds_compress.cc
ds_compress.h
ds_local.cc Merge branch '10.4' into 10.5 2023-11-08 12:59:00 +01:00
ds_local.h
ds_stdout.cc
ds_stdout.h
ds_tmpfile.cc
ds_tmpfile.h
ds_xbstream.cc
ds_xbstream.h
encryption_plugin.cc MDEV-33334 mariadb-backup fails to preserve innodb_encrypt_tables 2024-04-24 16:27:31 +05:30
encryption_plugin.h
fil_cur.cc MDEV-34830: LSN in the future is not being treated as serious corruption 2024-10-17 17:24:20 +03:00
fil_cur.h
innobackupex.cc
innobackupex.h
read_filt.cc Cleanup: Remove changed_pages_bitmap 2024-02-12 17:01:35 +02:00
read_filt.h Cleanup: Remove changed_pages_bitmap 2024-02-12 17:01:35 +02:00
write_filt.cc Merge branch '10.4' into 10.5 2023-04-24 12:43:47 +02:00
write_filt.h MDEV-31039 mariadb-backup: remove global variables ds_data and ds_meta 2023-04-12 15:14:03 +04:00
wsrep.cc MDEV-31905 GTID inconsistency 2023-12-22 00:10:23 +01:00
xb_regex.h
xbcloud.cc Fix few vulnerabilities found by Cppcheck 2023-03-02 14:38:24 +11:00
xbstream.cc
xbstream.h
xbstream_read.cc
xbstream_write.cc
xtrabackup.cc MDEV-35190 HASH_SEARCH duplicates effort before HASH_INSERT or HASH_DELETE 2024-11-21 08:59:02 +02:00
xtrabackup.h Merge 10.5 into 10.6 2024-02-13 20:42:59 +02:00