summaryrefslogtreecommitdiff
path: root/storage/innobase/handler/handler0alter.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-04-01 17:58:32 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2019-04-02 11:03:44 +0300
commitf9ab7b473a935141f85d27994d0faf3433a73144 (patch)
tree52b60679816f7602d16f38683e605018134d7ced /storage/innobase/handler/handler0alter.cc
parent43c20542ddf49fcc2d8a052122f3c6a603939af5 (diff)
downloadmariadb-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.cc8
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;
}