diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-04-01 17:58:32 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-04-02 11:03:44 +0300 |
commit | f9ab7b473a935141f85d27994d0faf3433a73144 (patch) | |
tree | 52b60679816f7602d16f38683e605018134d7ced /storage/innobase/handler/handler0alter.cc | |
parent | 43c20542ddf49fcc2d8a052122f3c6a603939af5 (diff) | |
download | mariadb-git-f9ab7b473a935141f85d27994d0faf3433a73144.tar.gz |
MDEV-18623 Assertion after DROP FULLTEXT INDEX and removing NOT NULL
instant_alter_column_possible(): Do not support instantaneous removal
of NOT NULL if the table needs to be rebuilt for removing the hidden
FTS_DOC_ID column. This is not ideal and should ultimately be fixed
properly in MDEV-17459.
Diffstat (limited to 'storage/innobase/handler/handler0alter.cc')
-rw-r--r-- | storage/innobase/handler/handler0alter.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc index 03bbad50f79..526c6b95de5 100644 --- a/storage/innobase/handler/handler0alter.cc +++ b/storage/innobase/handler/handler0alter.cc @@ -1560,6 +1560,14 @@ instant_alter_column_possible( if (ha_alter_info->handler_flags & ALTER_COLUMN_NULLABLE) { if (ib_table.not_redundant()) { + /* Instantaneous removal of NOT NULL is + only supported for ROW_FORMAT=REDUNDANT. */ + return false; + } + if (ib_table.fts_doc_id_index + && !innobase_fulltext_exist(altered_table)) { + /* Removing hidden FTS_DOC_ID_INDEX(FTS_DOC_ID) + requires that the table be rebuilt. */ return false; } |