mariadb/mysql-test/suite/maria
Dave Gosselin 7e4233746e MDEV-34413 Index Condition Pushdown for reverse ordered scans
Allows index condition pushdown for reverse ordered scans, a previously
disabled feature due to poor performance.  This patch adds a new
API to the handler class called set_end_range which allows callers to
tell the handler what the end of the index range will be when scanning.
Combined with a pushed index condition, the handler can scan the index
efficiently and not read beyond the end of the given range.  When
checking if the pushed index condition matches, the handler will also
check if scanning has reached the end of the provided range and stop if
so.

If we instead only enabled ICP for reverse ordered scans without
also calling this new API, then the handler would perform unnecessary
index condition checks.  In fact this would continue until the end of
the index is reached.

These changes are agnostic of storage engine.  That is, any storage
engine that supports index condition pushdown will inhereit this new
behavior as it is implemented in the SQL and storage engine
API layers.

The partitioned tables storage meta-engine (ha_partition) adds an
override of set_end_range which recursively calls set_end_range on its
child storage engine (handler) implementations.

This commit updates the test made in an earlier commit to show that
ICP matches happen for the reverse ordered case.

This patch is based on changes written by Olav Sandstaa in
MySQL commit da1d92fd46071cd86de61058b6ea39fd9affcd87
2025-03-19 16:03:29 -04: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 MDEV-16944 Fix file sharing issues on Windows in mysqltest 2024-04-17 16:52:37 +02: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 Fixed crashing bug in recursive SQL if write to tmp table would fail 2023-03-02 13:11:54 +02:00
crash-recursive.test Fixed crashing bug in recursive SQL if write to tmp table would fail 2023-03-02 13:11:54 +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 MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04: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 MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
lock.test Fix for crash in Aria LOCK TABLES + CREATE TRIGGER 2020-06-14 19:39:43 +03: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 Fix of4cb0d43ac63761174a39cea892c176b9cfa6edfc after merge in 10.5 2023-07-30 08:41:54 +02:00
maria-64bit.test Updated some test result for 32 bit systems 2023-05-24 19:22:08 +03: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 Fixed MDEV-3815: Aria engine return "The table is full" (ERROR 1114) inserting record, while MyISAM and InnoDB doesn't 2014-02-11 19:40:33 +02:00
maria-preload.test Created suites for heap, archive and csv. 2012-04-04 00:16:38 +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.result Merge 10.5 into 10.6 2021-04-21 11:45:00 +03:00
maria-recovery-bitmap.test Created suites for heap, archive and csv. 2012-04-04 00:16:38 +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 cleanup: key algorithm vs key flags 2024-11-05 14:00:47 -08:00
maria.test cleanup: key algorithm vs key flags 2024-11-05 14:00:47 -08:00
maria2.result 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
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-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
maria3.test MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04: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 Created suites for heap, archive and csv. 2012-04-04 00:16:38 +03:00
max_length.result MDEV-19123 Change default charset from latin1 to utf8mb4 2024-07-11 10:21:07 +04:00
max_length.test Extend have_sanitizer with ASAN+UBSAN and MSAN 2022-02-23 15:48:08 +02: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 Aria will now register it's transactions 2020-05-23 12:29:10 +03: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