diff options
author | Sergei Golubchik <serg@mariadb.org> | 2021-02-04 16:06:54 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2021-02-07 16:22:11 +0100 |
commit | ef5adf520760536c7396bdfe884fc509ac065694 (patch) | |
tree | 8b4074b80354de5126ce4604321874b439e03ec8 /mysql-test/main/check_constraint.result | |
parent | c2c23e598d49fc991b34853d864c77d02741b61c (diff) | |
download | mariadb-git-ef5adf520760536c7396bdfe884fc509ac065694.tar.gz |
MDEV-24274 ALTER TABLE with CHECK CONSTRAINTS gives "Out of Memory" error
partially revert 76063c2a13. Item::clone() is not an all-purpose
Item copying machine, it was specifically created for pushdown
of predicates into derived tables and views and it does not
copy everything. In particular, it does not copy Item_func_regex.
Fix the bug differently by preserving the old constraint name.
But keep setting automatic_name=true to have it regenerated
for cases like ALTER TABLE ... ADD CONSTRAINT.
Diffstat (limited to 'mysql-test/main/check_constraint.result')
-rw-r--r-- | mysql-test/main/check_constraint.result | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/mysql-test/main/check_constraint.result b/mysql-test/main/check_constraint.result index 3511af84166..f851b99e5c1 100644 --- a/mysql-test/main/check_constraint.result +++ b/mysql-test/main/check_constraint.result @@ -235,3 +235,15 @@ a b insert t1 (b) values (1); ERROR 23000: CONSTRAINT `CONSTRAINT_1` failed for `test`.`t1` drop table t1; +# +# MDEV-24274 ALTER TABLE with CHECK CONSTRAINTS gives "Out of Memory" error +# +create table t1 (id varchar(2), constraint id check (id regexp '[a-z]')); +alter table t1 force; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `id` varchar(2) DEFAULT NULL, + CONSTRAINT `id` CHECK (`id` regexp '[a-z]') +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +drop table t1; |