1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-10 23:02:54 +03:00
Files
mariadb/mysql-test/suite/innodb/t
Marko Mäkelä 358921ce32 MDEV-26938 Support descending indexes internally in InnoDB
This is loosely based on the InnoDB changes in
mysql/mysql-server@97fd8b1b69
that I had developed in 2015 or 2016.

For each B-tree key field, we will allow a flag ASC/DESC to be associated.
When PRIMARY KEY fields are internally appended to secondary indexes,
the ASC/DESC attribute will be inherited, so that covering index scans
will work as expected.

Note: Until the subsequent commit, the DESC attribute will be ignored
(no HA_REVERSE_SORT flag will be written to .frm files).

dict_field_t::descending: A new flag to denote descending order.

cmp_data(), cmp_dfield_dfield(): Add a new parameter descending.

cmp_dtuple_rec(), cmp_dtuple_rec_with_match(): Add a parameter "index".

dtuple_coll_eq(): Replaces dtuple_coll_cmp().

cmp_dfield_dfield_eq_prefix(): Replaces cmp_dfield_dfield_like_prefix().

dict_index_t::is_btree(): Check whether the index is a regular
B-tree index (not SPATIAL, FULLTEXT, or the ibuf.index,
or a corrupted index.

btr_cur_search_to_nth_level_func(): Only attempt to use
the adaptive hash index if index->is_btree().
This function may also be invoked on ibuf.index, and
cmp_dtuple_rec_with_match_bytes() will no longer work on ibuf.index
because it assumes that the index and record fields exactly match.
The ibuf.index is a special variadic index tree.

Thanks to Thirunarayanan Balathandayuthapani for fixing some bugs:
MDEV-27439, MDEV-27374/MDEV-27445.
2022-01-26 18:43:05 +01:00
..
2020-05-05 20:33:10 +03:00
2021-05-19 22:54:13 +02:00
2021-09-11 17:55:27 +03:00
2021-07-31 23:19:51 +02:00
2019-07-02 21:44:58 +03:00
2021-11-16 16:30:45 +02:00
2022-01-14 18:19:04 +02:00
2020-09-03 15:53:38 +03:00
2021-08-19 11:52:35 +03:00
2021-11-09 08:50:33 +02:00
2021-09-30 10:38:44 +03:00
2020-06-12 09:17:51 +05:30
2019-04-25 16:05:20 +03:00
2020-08-13 07:38:35 +03:00
2021-11-16 16:30:45 +02:00
2021-11-16 16:30:45 +02:00
2021-11-25 18:51:12 +02:00
2021-11-17 14:49:12 +02:00
2020-10-29 13:38:38 +02:00
2021-05-03 14:34:48 +03:00
2020-07-31 11:54:35 +03:00
2019-09-06 17:16:40 +03:00
2019-07-16 18:39:21 +03:00
2022-01-04 09:26:38 +02:00
2021-09-30 09:04:43 +03:00
2021-10-21 16:06:34 +03:00
2019-04-26 15:31:31 +03:00