summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2021-12-16 23:13:45 +0300
committerAleksey Midenkov <midenok@gmail.com>2021-12-16 23:13:45 +0300
commit3fd80d08740d3ad2426bfb8eb9debc40d96e2a20 (patch)
treeb4e93fd4649916a1eea522c086b7392914793dc1 /sql/sql_yacc.yy
parenta65d01a4cf04c744f9355bec186430540ce6ba08 (diff)
downloadmariadb-git-3fd80d08740d3ad2426bfb8eb9debc40d96e2a20.tar.gz
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.
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy1
1 files changed, 1 insertions, 0 deletions
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
;