mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
279b0db8c6
* removed universal suppression of everything "Event Schedule" everywhere * added suppressions in tests as needed * moved events test to the events suite * renamed -master.opt -> .opt * added standard test header * verified in the test that the error, indeed, was written into the log * removed useless suppressions * removed ER_EVENTS_NO_ACL, replaced with ER_OPTION_PREVENTS_STATEMENT * fixed error message to say exactly what option disabled event scheduler instead of "this or that or that, you figure it out" * also fixed old message for SET event_scheduler= (it was also non-translatable) * changed to use sql_print_error() when an error is not sent to the user * removed duplicate hard-coded error message
32 lines
942 B
Text
32 lines
942 B
Text
--source include/not_embedded.inc
|
|
--source include/have_innodb.inc
|
|
#--source include/have_metadata_lock_info.inc
|
|
|
|
call mtr.add_suppression('Event Scheduler: .* Duplicate entry');
|
|
#
|
|
# Testing of problems with ALTER TABLE and events on the same table(s)
|
|
#
|
|
|
|
#
|
|
# MDEV-24452 ALTER TABLE event take infinite time which for example breaks
|
|
# mysql_upgrade
|
|
#
|
|
|
|
SET GLOBAL event_scheduler=1;
|
|
|
|
CREATE TABLE t1 (a int primary key, b int) engine=innodb;
|
|
insert into t1 values (1,1),(2,2),(3,3);
|
|
CREATE TABLE t2 (a int primary key) engine=innodb;
|
|
|
|
CREATE EVENT e_t1 ON SCHEDULE EVERY 1 SECOND DO insert ignore into test.t2 select a from test.t1;
|
|
|
|
let $wait_condition=SELECT count(*) > 0 from t2;
|
|
--source include/wait_condition.inc
|
|
select * from t2;
|
|
drop event e_t1;
|
|
|
|
# select * from information_schema.metadata_lock_info;
|
|
ALTER TABLE mysql.event DROP PRIMARY KEY, ADD PRIMARY KEY(db,name);
|
|
drop table t1,t2;
|
|
|
|
SET GLOBAL event_scheduler=default;
|