mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
Bug #13943231: ALTER TABLE AFTER DISCARD MAY CRASH THE SERVER
The following scenario crashes our mysql server: 1. set global innodb_file_per_table=1; 2. create table t1(c1 int) engine=innodb; 3. alter table t1 discard tablespace; 4. alter table t1 add unique index(c1); Step 4 crashes the server. This patch introduces a check on discarded tablespace to avoid the crash. rb://1041 approved by Marko Makela
This commit is contained in:
@@ -665,6 +665,10 @@ ha_innobase::add_index(
|
|||||||
DBUG_RETURN(HA_ERR_NO_SUCH_TABLE);
|
DBUG_RETURN(HA_ERR_NO_SUCH_TABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (innodb_table->tablespace_discarded) {
|
||||||
|
DBUG_RETURN(-1);
|
||||||
|
}
|
||||||
|
|
||||||
/* Check that index keys are sensible */
|
/* Check that index keys are sensible */
|
||||||
error = innobase_check_index_keys(key_info, num_of_keys, innodb_table);
|
error = innobase_check_index_keys(key_info, num_of_keys, innodb_table);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user