Commit 5484c73
Bug#37039354 Backport Bug#36559642 FTS cleanup on DROP INDEX issue when adding a FULLTEXT index in same transaction
Cause:
When all FULLTEXT indexes are dropped from a table, but another one
is added in the same transaction using INPLACE algorithm, the logic for
dropping the last FULLTEXT index performs cleanup on the assumption
that the in-memeory and on-disk FTS infrastructure is not needed any
more. Because of the way the INPLACE algorithm works, creation of said
infrastructure for the index being added and related checks will have
already been done at this point - the index is already added but not
yet published (the in-memory fts_t structure is not updated) and thus
not detected. This leaves the infrastructure in an inconsistent state,
leading to incorrect behavior.
Fix:
When dropping a FULLTEXT index, do not perform the cleanup if another
FULLTEXT index is to be added in the same transaction.
Change-Id: Iceed9f4c755d2cd44d2cf7b301fc0f3a18a521cc1 parent f034c38 commit 5484c73
File tree
3 files changed
+19
-10
lines changed- storage/innobase
- fts
- handler
- include
3 files changed
+19
-10
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
812 | 812 | | |
813 | 813 | | |
814 | 814 | | |
815 | | - | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
816 | 819 | | |
817 | 820 | | |
818 | 821 | | |
819 | 822 | | |
820 | 823 | | |
821 | 824 | | |
822 | | - | |
| 825 | + | |
823 | 826 | | |
824 | 827 | | |
825 | | - | |
| 828 | + | |
| 829 | + | |
826 | 830 | | |
827 | 831 | | |
828 | 832 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
8019 | 8019 | | |
8020 | 8020 | | |
8021 | 8021 | | |
| 8022 | + | |
| 8023 | + | |
8022 | 8024 | | |
8023 | 8025 | | |
8024 | 8026 | | |
8025 | 8027 | | |
8026 | 8028 | | |
8027 | 8029 | | |
| 8030 | + | |
| 8031 | + | |
| 8032 | + | |
8028 | 8033 | | |
8029 | 8034 | | |
8030 | 8035 | | |
| |||
8071 | 8076 | | |
8072 | 8077 | | |
8073 | 8078 | | |
8074 | | - | |
| 8079 | + | |
8075 | 8080 | | |
8076 | 8081 | | |
8077 | 8082 | | |
| |||
8858 | 8863 | | |
8859 | 8864 | | |
8860 | 8865 | | |
8861 | | - | |
8862 | | - | |
8863 | | - | |
8864 | 8866 | | |
8865 | 8867 | | |
8866 | 8868 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
1047 | 1047 | | |
1048 | 1048 | | |
1049 | 1049 | | |
1050 | | - | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
1051 | 1054 | | |
1052 | 1055 | | |
1053 | 1056 | | |
| |||
0 commit comments