mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-18413: Find constraint correlated indexes
Find indexes of one table which parts participate in one constraint. These indexes are called constraint correlated. New methods: TABLE::find_constraint_correlated_indexes() and virtual method check_index_dependence() were added. For each index it's own constraint correlated index map was created where all indexes that are constraint correlated with the current are marked. The results of this task are used for MDEV-16188 (Use in-memory PK filters built from range index scans).
This commit is contained in:
@@ -1133,6 +1133,8 @@ public:
|
||||
key_map keys_in_use_for_group_by;
|
||||
/* Map of keys that can be used to calculate ORDER BY without sorting */
|
||||
key_map keys_in_use_for_order_by;
|
||||
/* Map of keys dependent on some constraint */
|
||||
key_map constraint_dependent_keys;
|
||||
KEY *key_info; /* data of keys in database */
|
||||
|
||||
Field **field; /* Pointer to fields */
|
||||
@@ -1566,6 +1568,7 @@ public:
|
||||
int delete_row();
|
||||
void vers_update_fields();
|
||||
void vers_update_end();
|
||||
void find_constraint_correlated_indexes();
|
||||
|
||||
/** Number of additional fields used in versioned tables */
|
||||
#define VERSIONING_FIELDS 2
|
||||
|
Reference in New Issue
Block a user