mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-18800 Server crash in instant_alter_column_possible or Assertion...
`!pk->has_virtual()' failed in instant_alter_column_possible upon adding key Hash key can't be primary key.
This commit is contained in:
committed by
sachinsetia1001@gmail.com
parent
ecf323620b
commit
62bfb2fe49
@ -112,3 +112,20 @@ ERROR 42000: Can't DROP COLUMN `x`; check that it exists
|
|||||||
SELECT * FROM t1 WHERE f LIKE 'foo';
|
SELECT * FROM t1 WHERE f LIKE 'foo';
|
||||||
f
|
f
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (pk INT, PRIMARY KEY USING HASH (pk)) ENGINE=InnoDB;
|
||||||
|
show keys from t1;;
|
||||||
|
Table t1
|
||||||
|
Non_unique 0
|
||||||
|
Key_name PRIMARY
|
||||||
|
Seq_in_index 1
|
||||||
|
Column_name pk
|
||||||
|
Collation A
|
||||||
|
Cardinality 0
|
||||||
|
Sub_part NULL
|
||||||
|
Packed NULL
|
||||||
|
Null
|
||||||
|
Index_type BTREE
|
||||||
|
Comment
|
||||||
|
Index_comment
|
||||||
|
ALTER TABLE t1 ADD INDEX (pk);
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -141,3 +141,12 @@ CREATE TABLE t1 (f VARCHAR(4096), UNIQUE(f)) ENGINE=InnoDB;
|
|||||||
ALTER TABLE t1 DROP x;
|
ALTER TABLE t1 DROP x;
|
||||||
SELECT * FROM t1 WHERE f LIKE 'foo';
|
SELECT * FROM t1 WHERE f LIKE 'foo';
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# MDEV-18800 Server crash in instant_alter_column_possible or
|
||||||
|
# Assertion `!pk->has_virtual()' failed in instant_alter_column_possible upon adding key
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (pk INT, PRIMARY KEY USING HASH (pk)) ENGINE=InnoDB;
|
||||||
|
--query_vertical show keys from t1;
|
||||||
|
ALTER TABLE t1 ADD INDEX (pk);
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -4179,6 +4179,7 @@ mysql_prepare_create_table(THD *thd, HA_CREATE_INFO *create_info,
|
|||||||
}
|
}
|
||||||
if (is_hash_field_needed ||
|
if (is_hash_field_needed ||
|
||||||
(key_info->algorithm == HA_KEY_ALG_HASH &&
|
(key_info->algorithm == HA_KEY_ALG_HASH &&
|
||||||
|
key->type != Key::PRIMARY &&
|
||||||
key_info->flags & HA_NOSAME &&
|
key_info->flags & HA_NOSAME &&
|
||||||
!(file->ha_table_flags() & HA_CAN_HASH_KEYS ) &&
|
!(file->ha_table_flags() & HA_CAN_HASH_KEYS ) &&
|
||||||
file->ha_table_flags() & HA_CAN_VIRTUAL_COLUMNS))
|
file->ha_table_flags() & HA_CAN_VIRTUAL_COLUMNS))
|
||||||
|
Reference in New Issue
Block a user