summaryrefslogtreecommitdiff
path: root/sql/sql_sequence.cc
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2020-06-07 16:23:44 +0300
committerMonty <monty@mariadb.org>2020-06-07 16:32:00 +0300
commite6a6382f15834943ce3814e4f30debe58076e24d (patch)
tree6e7c401f8933b02ccdae1209dd9c18cebf9511b4 /sql/sql_sequence.cc
parentfad348a9a69211351c3b27b21ba03ef910c8f623 (diff)
downloadmariadb-git-e6a6382f15834943ce3814e4f30debe58076e24d.tar.gz
Don't allow illegal create options for SEQUENCE
MDEV-19977 Assertion `(0xFUL & mode) == LOCK_S || (0xFUL & mode) == LOCK_X' failed in lock_rec_lock
Diffstat (limited to 'sql/sql_sequence.cc')
-rw-r--r--sql/sql_sequence.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/sql_sequence.cc b/sql/sql_sequence.cc
index 96c1cd19433..68d9efb3093 100644
--- a/sql/sql_sequence.cc
+++ b/sql/sql_sequence.cc
@@ -203,6 +203,11 @@ bool check_sequence_fields(LEX *lex, List<Create_field> *fields)
reason= "Sequence tables cannot have any keys";
goto err;
}
+ if (lex->alter_info.check_constraint_list.elements > 0)
+ {
+ reason= "Sequence tables cannot have any constraints";
+ goto err;
+ }
for (field_no= 0; (field= it++); field_no++)
{
@@ -210,7 +215,8 @@ bool check_sequence_fields(LEX *lex, List<Create_field> *fields)
if (my_strcasecmp(system_charset_info, field_def->field_name,
field->field_name.str) ||
field->flags != field_def->flags ||
- field->type_handler() != field_def->type_handler)
+ field->type_handler() != field_def->type_handler ||
+ field->check_constraint || field->vcol_info)
{
reason= field->field_name.str;
goto err;