mariadb/mysql-test/suite
Yuchen Pei 7d7d552b03
MDEV-37330 Allow unordered index scan for tables partitioned by range when a priority queue is not needed
There are two types of partition index scans. Ordered and unordered.
The ordered scan utilises a priority queue of size equal to the number
of partitions. Thus when the number of partitions is large and a
SELECT query with ORDER BY request only a few results (e.g. LIMIT 1),
populating the partitions can be wasteful. Therefore in this patch we
allow the use of unordered scan when a priority queue is not needed.

This includes:

Case 1. The PARTITION BY RANGE expression is a col that is a prefix of
the active index and we are in
index_first/index_last/index_read_map/read_range_first/multi_range_read_next,
OR

Case 2. The PARTITION BY RANGE expression is col1 and the active
index is (prefix_cols, col1, ...), and we are in
index_read_map(prefix_cols=prefix_value), or
read_range_first(start_key= {prefix_value, ...},
end_key={prefix_value, ...}), or
multi_range_read_next(start_key= {prefix_value, ...},
end_key={prefix_value, ...})

Limitation: not supporting reverse index

test passed with:

mtrdefault --suite main --do-test=.*partition
mtrdefault --suite parts
2025-11-21 14:49:39 +11:00
..
archive
atomic Fix the test: changing charset should be dome when we can not skip the test. 2025-05-09 07:36:15 +02:00
binlog Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
binlog_encryption Merge branch '10.11' into 11.4 2025-07-28 19:40:10 +02:00
client
compat Merge branch '12.1' into bb-12.2-release 2025-11-02 18:08:29 +01:00
csv mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
encryption Merge branch '11.8' into bb-12.1-release 2025-10-08 09:05:38 +02:00
engines Merge branch '11.8' into bb-12.1-release 2025-10-08 09:05:38 +02:00
events Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
federated Merge branch '12.0' into 12.1 2025-08-03 15:01:09 +02:00
funcs_1 MDEV-37054: Implement INFORMATION_SCHEMA.PARAMETERS.PARAMETER_DEFAULT column 2025-10-15 22:04:28 +05:30
funcs_2
galera Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
galera_3nodes Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
galera_3nodes_sr
galera_sr galera tests: synchronization between versions and editions 2025-08-14 17:04:40 +02:00
gcol Merge branch '10.11' into 11.4 2025-07-28 19:40:10 +02:00
handler mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
heap
innodb Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
innodb_fts Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
innodb_gis Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
innodb_i_s
innodb_zip Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
jp
json Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
large_tests
maria Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
mariabackup Merge branch '11.8' into bb-12.1-release 2025-10-08 09:05:38 +02:00
merge Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
mtr/t
mtr2
multi_source Merge branch '12.1' into 12.2 2025-10-09 09:32:33 +02:00
optimizer_unfixed_bugs
parts MDEV-37330 Allow unordered index scan for tables partitioned by range when a priority queue is not needed 2025-11-21 14:49:39 +11:00
perfschema Merge branch '11.8' into bb-12.1-release 2025-10-08 09:05:38 +02:00
perfschema_stress remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
period Merge branch '11.8' into bb-12.1-release 2025-10-08 09:05:38 +02:00
plugins Merge branch '11.8' into bb-12.1-release 2025-10-08 09:05:38 +02:00
roles Merge branch '12.0' into 12.1 2025-08-03 15:01:09 +02:00
rpl Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00
s3 Merge branch '11.8' into 12.0 2025-06-18 07:50:39 +02:00
sql_sequence Merge branch '11.8' into bb-12.1-release 2025-10-08 09:05:38 +02:00
storage_engine mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
stress
sys_vars Merge branch '12.1' into bb-12.2-release 2025-11-02 18:08:29 +01:00
sysschema Merge branch '11.8' into bb-12.1-release 2025-10-08 09:05:38 +02:00
unit
vcol MDEV-37435 Make new vcols created in vcol index substitution inherit name resolution from the select_lex 2025-10-16 10:38:51 +11:00
versioning Merge branch '11.8' into bb-12.1-release 2025-10-08 09:05:38 +02:00
wsrep Merge branch '11.8' into bb-12.1-release 2025-10-28 15:26:26 +01:00