mariadb/storage/innobase/pars
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
..
lexyy.cc Cleanup: Remove os0proc.* 2020-09-03 16:40:42 +03:00
make_bison.sh Cleanup: Remove pars_stored_procedure_call() 2021-07-29 15:37:35 +03:00
make_flex.sh Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
pars0grm.cc Merge 10.5 into 10.6 2021-11-09 09:11:50 +02:00
pars0grm.y Merge 10.5 into 10.6 2021-11-09 09:11:50 +02:00
pars0lex.l Cleanup: Remove os0proc.* 2020-09-03 16:40:42 +03:00
pars0opt.cc MDEV-26938 Support descending indexes internally in InnoDB 2022-01-26 18:43:05 +01:00
pars0pars.cc MDEV-25919: Lock tables before acquiring dict_sys.latch 2021-08-31 13:54:44 +03:00
pars0sym.cc MDEV-19505 Do not hold mutex while calling que_graph_free() 2021-08-31 13:54:06 +03:00