From 3fd80d08740d3ad2426bfb8eb9debc40d96e2a20 Mon Sep 17 00:00:00 2001 From: Aleksey Midenkov Date: Thu, 16 Dec 2021 23:13:45 +0300 Subject: MDEV-27244 Table corruption upon adding serial data type MDEV-25803 excluded some cases from key sort upon alter table. That particularly depends on ALTER_ADD_INDEX flag. Creating a column of SERIAL data type missed that flag. Though equivalent operation alter table t1 add x bigint unsigned not null auto_increment unique; has ALTER_ADD_INDEX flag. --- sql/sql_yacc.yy | 1 + 1 file changed, 1 insertion(+) (limited to 'sql/sql_yacc.yy') diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index b26ddcbb9e5..01e3922040b 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -6783,6 +6783,7 @@ field_type_or_serial: Lex->last_field->set_handler(&type_handler_longlong); Lex->last_field->flags|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG | UNIQUE_KEY_FLAG; + Lex->alter_info.flags|= ALTER_ADD_INDEX; } opt_serial_attribute ; -- cgit v1.2.1