summaryrefslogtreecommitdiff
path: root/sql/structs.h
diff options
context:
space:
mode:
authorGalina Shalygina <galina.shalygina@mariadb.com>2019-02-10 22:36:46 +0300
committerGalina Shalygina <galina.shalygina@mariadb.com>2019-02-10 22:36:46 +0300
commit3955d2a1539e7e41e3457c99f773d90c90f4f90f (patch)
tree25af9196307fc374a935499d6d232cd98515a0f8 /sql/structs.h
parent15fe81c571ef81ec834ac91f96c9adb4343ecd05 (diff)
downloadmariadb-git-3955d2a1539e7e41e3457c99f773d90c90f4f90f.tar.gz
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).
Diffstat (limited to 'sql/structs.h')
-rw-r--r--sql/structs.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/structs.h b/sql/structs.h
index 8aec29bac41..3628cd01748 100644
--- a/sql/structs.h
+++ b/sql/structs.h
@@ -124,6 +124,8 @@ typedef struct st_key {
(only key parts from key definitions are taken into account)
*/
key_map overlapped;
+ /* Set of keys constraint correlated with this key */
+ key_map constraint_correlated;
LEX_CSTRING name;
uint block_size;
enum ha_key_alg algorithm;