diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-10-22 13:27:18 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-10-22 13:27:18 +0300 |
commit | 46957a6a77518b579c6c8e1345666f84a5a59455 (patch) | |
tree | c0e463f14123cd09bb4d5854d32577e44b3a9827 /storage/innobase/dict | |
parent | 1619ae899099c4934f3b5919b2398c95a7cacc94 (diff) | |
parent | e3d692aa092a76415ce1ce0e9662338873d84abb (diff) | |
download | mariadb-git-46957a6a77518b579c6c8e1345666f84a5a59455.tar.gz |
Merge 10.3 into 10.4
Diffstat (limited to 'storage/innobase/dict')
-rw-r--r-- | storage/innobase/dict/dict0mem.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/storage/innobase/dict/dict0mem.cc b/storage/innobase/dict/dict0mem.cc index d179806324f..70fa9c8245e 100644 --- a/storage/innobase/dict/dict0mem.cc +++ b/storage/innobase/dict/dict0mem.cc @@ -1195,6 +1195,24 @@ operator<< (std::ostream& out, const dict_foreign_set& fk_set) return(out); } +/** Check whether fulltext index gets affected by foreign +key constraint. */ +bool dict_foreign_t::affects_fulltext() const +{ + if (foreign_table == referenced_table || !foreign_table->fts) + return false; + + for (ulint i= 0; i < n_fields; i++) + { + const dict_col_t *col= dict_index_get_nth_col(foreign_index, i); + if (dict_table_is_fts_column(foreign_table->fts->indexes, col->ind, + col->is_virtual()) != ULINT_UNDEFINED) + return true; + } + + return false; +} + /** Reconstruct the clustered index fields. */ inline void dict_index_t::reconstruct_fields() { |