1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-21234 Server crashes in in setup_on_expr upon 3rd execution of SP

Versioned conditions in on_expr can not be rebuilt at optimization
stage on non-conventional arena.
This commit is contained in:
Aleksey Midenkov
2019-12-05 23:45:57 +03:00
parent 1fbd9bb2c5
commit be92dce613
3 changed files with 67 additions and 1 deletions

View File

@ -586,6 +586,30 @@ call p;
i
drop procedure p;
drop table t1;
#
# MDEV-21234 Server crashes in in setup_on_expr upon 3rd execution of SP
#
create table t1 (a varchar(8));
insert into t1 values ('foo'),('bar');
create table t2 (b date);
create procedure pr() insert into t2 select * from t1;
call pr;
ERROR 22007: Incorrect date value: 'foo' for column `test`.`t2`.`b` at row 1
prepare stmt from 'insert into t2 select * from t1';
execute stmt;
ERROR 22007: Incorrect date value: 'foo' for column `test`.`t2`.`b` at row 1
alter table t1 add system versioning;
call pr;
ERROR 22007: Incorrect date value: 'foo' for column `test`.`t2`.`b` at row 1
call pr;
ERROR 22007: Incorrect date value: 'foo' for column `test`.`t2`.`b` at row 1
execute stmt;
ERROR 22007: Incorrect date value: 'foo' for column `test`.`t2`.`b` at row 1
execute stmt;
ERROR 22007: Incorrect date value: 'foo' for column `test`.`t2`.`b` at row 1
drop prepare stmt;
drop procedure pr;
drop table t1, t2;
call verify_trt_dummy(34);
No A B C D
1 1 1 1 1

View File

@ -392,6 +392,35 @@ call p;
drop procedure p;
drop table t1;
--echo #
--echo # MDEV-21234 Server crashes in in setup_on_expr upon 3rd execution of SP
--echo #
create table t1 (a varchar(8));
insert into t1 values ('foo'),('bar');
create table t2 (b date);
create procedure pr() insert into t2 select * from t1;
--error ER_TRUNCATED_WRONG_VALUE
call pr;
prepare stmt from 'insert into t2 select * from t1';
--error ER_TRUNCATED_WRONG_VALUE
execute stmt;
alter table t1 add system versioning;
--error ER_TRUNCATED_WRONG_VALUE
call pr;
--error ER_TRUNCATED_WRONG_VALUE
call pr;
--error ER_TRUNCATED_WRONG_VALUE
execute stmt;
--error ER_TRUNCATED_WRONG_VALUE
execute stmt;
drop prepare stmt;
# cleanup
drop procedure pr;
drop table t1, t2;
call verify_trt_dummy(34);
-- source suite/versioning/common_finish.inc