Details
-
Task
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
None
Description
see MDEV-13756
Descending attribute will only for for BTREE indexes, for everything else (fulltext, spacial, hash) it'll be ignored as before
Attachments
Issue Links
- causes
-
MDEV-29992 Index corruption with multi-part key and nopad collation
-
- Open
-
-
MDEV-30183 Assertion `!memcmp(rec_trx_id, old_pk_trx_id->data, 6 + 7)' failed in row_log_table_apply_update
-
- Closed
-
- is part of
-
MDEV-13756 Implement descending index: KEY (a DESC, b ASC)
-
- Closed
-
Some raw ideas for RQG based testing:
It looks as if the RQG grammar conf/mariadb/concurrency.yy is some good candidate for RQG testing.
The DDL fiddles with ASC and DESC keys. Probably even in case of multi column keys.
1. Plain crash testing with concurrent sessions running some DDL/DML mix based on
--grammar=conf/mariadb/concurrency.yy --gendata=conf/mariadb/concurrency.zz --gendata_sql=conf/mariadb/concurrency.sql
2. Run "pseudo replication" (== any SQL gets sent to two servers) based on conf/mariadb/concurrency.yy (*)
- only one session runs the DDL/DML mix and the SQL should avoid statements which are unsafe in statement based replication
because otherwise "pseudo replication" is known to break
- probably costly modification in RQG code: When sending a DDL creating a key to the second server convert ASC to DESC and DESC to ASC
or
probably less costly: First server is 10.8 with MDEV-26938 , second server is 10.8 without MDEV-26938
- filter out any SQL containing LIMIT and do not execute that
- at test end compare the content of the tables of both servers
Variant: Compare the result sets of SELECTs executed on the first and the second server
(*) Alternative: Develop some new grammar or a simplified derivate of conf/mariadb/concurrency.yy