mariadb/mysql-test/suite/maria
Monty 0b7b5cc1b3 MDEV-24 Segmented key cache for Aria
Added option 'aria-pagecache-segments', default 1.

For values > 1, this split the aria-pagecache-buffer into the given
number of segments, each independent from each other.  Having multiple
pagecaches improve performance when multiple connections runs queries
concurrently using different tables.

Each pagecache will use aria-pageache-buffer/segments amount of
memory, however at least 128K.

Each opened table has its index and data file use the segments in a
a round-robin fashion.

Internal changes:
- All programs allocating the maria pagecache themselves should now
  call multi_init_pagecache() instead of init_pagecache().
- pagecache statistics is now stored in 'pagecache_stats' instead of
  maria_pagecache. One must call multi_update_pagecache_stats() to
  update the statistics.
- Added into PAGECACHE_FILE a pointer to files pagecache. This was
  done to ensure that index and data file are using the same
  pagecache and simplified the checkpoint code.
  I kept pagecache in TABLE_SHARE to minimize the changes.
- really_execute_checkpoint() was update to handle a dynamic number of
  pagecaches.
- pagecache_collect_changed_blocks_with_lsn() was slight changed to
  allow it to be called for each pagecache.
- undefined not used functions maria_assign_pagecache() and
  maria_change_pagecache()
- ma_pagecaches.c is totally rewritten. It now contains all
  multi_pagecache functions.

Errors found be QA that are fixed:
MDEV-36872 UBSAN errors in ma_checkpoint.c
MDEV-36874 Behavior upon too small aria_pagecache_buffer_size in case of
           multiple segments is not very user-friendly
MDEV-36914 ma_checkpoint.c(285,9): conversion from '__int64' to 'uint'
           treated as an error
MDEV-36912 sys_vars.sysvars_server_embedded and
           sys_vars.sysvars_server_notembedded fail on x86
2025-06-25 17:59:45 +03:00
..
alter.result MariaDB 11.4.4 release 2024-11-08 07:17:00 +01:00
alter.test MDEV-25923: Aria parallel repair MY_THREAD_SPECIFIC mismatch in realloc 2024-03-15 15:55:07 +01:00
aria_log_dir_path.result MDEV-30971 Add a new system variable aria_data_home_dir 2023-04-04 16:05:55 +04:00
aria_log_dir_path.test MDEV-30971 Add a new system variable aria_data_home_dir 2023-04-04 16:05:55 +04:00
aria_pack_mdev14183.result fix tests 2020-01-24 15:38:25 +01:00
aria_pack_mdev14183.test MDEV-14183: aria_pack segfaults in compress_maria_file 2020-01-23 14:20:57 +03:00
aria_sort_buffer.result MDEV-35469 Heap tables are calling mallocs to often 2025-01-05 16:40:11 +02:00
aria_sort_buffer.test MDEV-24750 Various corruptions caused by Aria subsystem... 2021-02-03 02:22:47 +02:00
bulk_insert_crash.opt mtr: aix - stack-trace is optional 2021-07-22 15:22:47 +10:00
bulk_insert_crash.result Merge 10.5 into 10.6 2021-04-21 11:45:00 +03:00
bulk_insert_crash.test Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
collations.result MDEV-10759 Fix Aria to support 2-byte collation IDs 2016-12-02 14:05:16 +02:00
collations.test MDEV-10759 Fix Aria to support 2-byte collation IDs 2016-12-02 14:05:16 +02:00
compat_aliases-master.opt Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
concurrent.result Merge 10.1 into 10.2 2018-08-31 15:10:02 +03:00
concurrent.test MDEV-15797 Assertion `thd->killed != 0' failed in ha_maria::enable_indexes 2018-08-27 22:00:14 +03:00
crash-recursive.result remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
crash-recursive.test remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
create.opt Fixed maria.create test 2020-11-30 19:57:50 +02:00
create.result Merge branch '10.4' into 10.5 2020-11-01 14:26:15 +01:00
create.test Fixed failing maria.create test 2020-11-09 19:36:10 +02:00
ctype_utf8mb3_uca.result remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
ctype_utf8mb3_uca.test MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB 2023-10-24 03:35:48 +04:00
disabled.def MDEV-16421 Make system tables crash safe 2018-08-14 12:18:38 +03:00
distinct.result 5.3 merge. 2013-05-20 12:36:30 +02:00
distinct.test 5.3 merge. 2013-05-20 12:36:30 +02:00
dynamic.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
dynamic.test MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
encrypt-no-key.result Merge branch '10.5' into 10.6 2023-08-01 15:08:52 +02:00
encrypt-no-key.test Merge 10.5 into 10.6 2024-04-18 07:14:56 +03:00
encrypt-wrong-key.result MDEV-26258 Various crashes/asserts/corruptions when Aria encryption is enabled/used, but the encryption plugin is not loaded 2023-05-02 23:37:10 +03:00
encrypt-wrong-key.test MDEV-16944 Fix file sharing issues on Windows in mysqltest 2024-04-17 16:52:37 +02:00
fulltext2.result MDEV-11241 Certain combining marks cause MariaDB to crash when doing Full-Text searches 2022-01-28 21:36:33 +01:00
fulltext2.test Merge branch '10.5' into 10.6 2022-02-03 17:01:31 +01:00
group_commit.result Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
group_commit.test Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
icp.result MDEV-34413 Index Condition Pushdown for reverse ordered scans 2025-03-19 16:03:29 -04:00
icp.test MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
insert_select-7314.result MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
insert_select-7314.test 5.5 merge 2015-01-21 12:03:02 +01:00
insert_select.result MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
insert_select.test Fixed MDEV-7314: Deadlock when doing insert-select with Aria 2015-01-18 20:38:07 +02:00
kill.result MDEV-14996 kill during FLUSH TABLES FOR EXPORT causes assert 2019-06-27 20:57:25 +03:00
kill.test MDEV-14996 kill during FLUSH TABLES FOR EXPORT causes assert 2019-06-27 20:57:25 +03:00
lock.result Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
lock.test Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
locking.result Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
locking.test Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
maria-64bit.result remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
maria-64bit.test remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
maria-autoinc.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria-autoinc.test MDEV-15352 AUTO_INCREMENT breaks after updating a column value to a negative number 2018-06-14 13:13:23 +04:00
maria-autozerofill.result MDEV-17913 Encrypted transactional Aria tables remain corrupt after crash recovery, automatic repairment does not work 2021-04-06 14:57:22 +03:00
maria-autozerofill.test MDEV-17913 Encrypted transactional Aria tables remain corrupt after crash recovery, automatic repairment does not work 2021-04-06 14:57:22 +03:00
maria-big.result MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria-big.test MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria-big2.result Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
maria-big2.test Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
maria-connect.result Fix spelling mistake in error message 2020-08-21 23:00:56 +03:00
maria-connect.test Aria will now register it's transactions 2020-05-23 12:29:10 +03:00
maria-gis-recovery.opt mtr: aix - stack-trace is optional 2021-07-22 15:22:47 +10:00
maria-gis-recovery.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria-gis-recovery.test Updated mtr files to support different compiled in options 2019-09-01 19:17:35 +03:00
maria-gis-rtree-dynamic.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria-gis-rtree-dynamic.test MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria-gis-rtree-trans.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria-gis-rtree-trans.test MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria-gis-rtree.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria-gis-rtree.test MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria-mvcc.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria-mvcc.test Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
maria-no-logging.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria-no-logging.test MDEV-17665 Assertion `!share and other errors on concurrent Aria operations 2020-09-25 13:07:04 +03:00
maria-page-checksum.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria-page-checksum.test fix for maria.maria test 2013-07-13 22:29:17 +02:00
maria-partitioning.result Make error messages from DROP TABLE and DROP TABLE IF EXISTS consistent 2020-06-14 19:39:42 +03:00
maria-partitioning.test MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria-preload.result MDEV-24 Segmented key cache for Aria 2025-06-25 17:59:45 +03:00
maria-preload.test MDEV-24 Segmented key cache for Aria 2025-06-25 17:59:45 +03:00
maria-purge.result MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria-purge.test MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria-recover-master.opt MDEV-8542 - The "aria_recover" variable should be renamed "aria_recover_options" 2015-11-26 11:34:17 +04:00
maria-recover.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria-recover.test Fixed maria.maria-recover and maria.encrypt-no-key test files 2022-06-13 16:10:41 +03:00
maria-recovery-big-master.opt mtr: aix - stack-trace is optional 2021-07-22 15:22:47 +10:00
maria-recovery-big.result Merge 10.5 into 10.6 2021-04-21 11:45:00 +03:00
maria-recovery-big.test Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
maria-recovery-bitmap-master.opt mtr: aix - stack-trace is optional 2021-07-22 15:22:47 +10:00
maria-recovery-bitmap.opt MDEV-24 Segmented key cache for Aria 2025-06-25 17:59:45 +03:00
maria-recovery-bitmap.result MDEV-24 Segmented key cache for Aria 2025-06-25 17:59:45 +03:00
maria-recovery-bitmap.test MDEV-24 Segmented key cache for Aria 2025-06-25 17:59:45 +03:00
maria-recovery-master.opt mtr: aix - stack-trace is optional 2021-07-22 15:22:47 +10:00
maria-recovery-rtree-ft-master.opt mtr: aix - stack-trace is optional 2021-07-22 15:22:47 +10:00
maria-recovery-rtree-ft.result Merge 10.5 into 10.6 2021-04-21 11:45:00 +03:00
maria-recovery-rtree-ft.test merge with mysql-5.5.30 minus few incorrect or not applicable changesets 2013-02-28 18:42:49 +01:00
maria-recovery.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria-recovery.test Updated mtr files to support different compiled in options 2019-09-01 19:17:35 +03:00
maria-recovery2-master.opt mtr: aix - stack-trace is optional 2021-07-22 15:22:47 +10:00
maria-recovery2.result Merge 10.5 into 10.6 2021-04-21 11:45:00 +03:00
maria-recovery2.test 5.5 merge 2013-06-06 17:51:28 +02:00
maria-recovery3-master.opt mtr: aix - stack-trace is optional 2021-07-22 15:22:47 +10:00
maria-recovery3.result Add support for minimum field width for strings to my_vsnprintf() 2021-05-19 22:27:29 +02:00
maria-recovery3.test Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
maria-ucs2.result MDEV-25829 Change default Unicode collation to uca1400_ai_ci 2024-05-24 15:50:05 +04:00
maria-ucs2.test MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria.result remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
maria.test remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
maria2.result MDEV-32732 Support DESC indexes in loose scan optimization 2025-04-28 13:30:58 +10:00
maria2.test MDEV-27434 DESC attribute does not work with auto-increment on secondary column of multi-part index 2022-01-26 18:43:06 +01:00
maria3.result MDEV-24 Segmented key cache for Aria 2025-06-25 17:59:45 +03:00
maria3.test Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
maria_notembedded.result MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria_notembedded.test MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria_partition.result MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria_partition.test MDEV-18650: Options deprecated in previous versions - storage_engine 2020-02-13 13:42:01 +02:00
maria_showlog_error.result MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
maria_showlog_error.test Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
max_length.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
max_length.test MDEV-36848: identify tests with various MSAN suitability 2025-05-28 16:33:49 +10:00
mrr.result MDEV-34189 Unexpected error on WHERE inet6col 2025-01-29 09:08:19 +04:00
mrr.test MDEV-24312 master_host has 60 character limit, increase to 255 bytes 2021-04-20 16:36:56 +02:00
optimize.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
optimize.test MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
partition.result MDEV-19254 Server crashes in maria_status with partitioned table 2019-08-19 19:49:45 +03:00
partition.test MDEV-19254 Server crashes in maria_status with partitioned table 2019-08-19 19:49:45 +03:00
ps_maria.result MariaDB 11.4.4 release 2024-11-08 07:17:00 +01:00
ps_maria.test Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
range.result MDEV-22935 Erroneous Aria Index / Optimizer behaviour 2024-06-05 10:29:49 +03:00
range.test MDEV-22935 Erroneous Aria Index / Optimizer behaviour 2024-06-05 10:29:49 +03:00
repair-big-sort.result MDEV-35469 Heap tables are calling mallocs to often 2025-01-05 16:40:11 +02:00
repair-big-sort.test MDEV-28054 Various crashes upon INSERT/UPDATE after changing Aria settings 2023-05-02 23:37:10 +03:00
repair.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
repair.test MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
rollback.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
rollback.test Merge 10.5 into 10.6 2022-11-10 17:30:15 +02:00
small_blocksize-master.opt Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
small_blocksize.result Post-merge buildbot fixes: 2013-07-05 19:57:48 +04:00
small_blocksize.test Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
suite.pm MDEV-8542 - The "aria_recover" variable should be renamed "aria_recover_options" 2015-11-26 11:34:17 +04:00
system_tables.result Changed FLUSH TABLES to not change share version 2018-12-09 22:12:26 +02:00
system_tables.test Changed FLUSH TABLES to not change share version 2018-12-09 22:12:26 +02:00
temporary.result MDEV-19595 fixed 2019-06-19 00:35:44 +03:00
temporary.test MDEV-19595 fixed 2019-06-19 00:35:44 +03:00
transaction.result Aria will now register it's transactions 2020-05-23 12:29:10 +03:00
transaction.test Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
truncate.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
truncate.test Fixed MDEV-3890: Server crash inserting record on a temporary table after truncating it 2013-01-25 21:40:42 +02:00