mirror of
https://github.com/MariaDB/server.git
synced 2025-08-31 22:22:30 +03:00
Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/home/gluh/MySQL/Merge/5.1-kt sql/sql_db.cc: Auto merged
This commit is contained in:
@@ -365,19 +365,19 @@ on schedule every 10 hour
|
||||
disable
|
||||
do
|
||||
select 1;
|
||||
select event_schema, event_name, definer, event_body from information_schema.events where event_name='white_space';
|
||||
event_schema event_name definer event_body
|
||||
select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
|
||||
event_schema event_name definer event_definition
|
||||
events_test white_space root@localhost select 1
|
||||
drop event white_space;
|
||||
create event white_space on schedule every 10 hour disable do
|
||||
select 2;
|
||||
select event_schema, event_name, definer, event_body from information_schema.events where event_name='white_space';
|
||||
event_schema event_name definer event_body
|
||||
select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
|
||||
event_schema event_name definer event_definition
|
||||
events_test white_space root@localhost select 2
|
||||
drop event white_space;
|
||||
create event white_space on schedule every 10 hour disable do select 3;
|
||||
select event_schema, event_name, definer, event_body from information_schema.events where event_name='white_space';
|
||||
event_schema event_name definer event_body
|
||||
select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
|
||||
event_schema event_name definer event_definition
|
||||
events_test white_space root@localhost select 3
|
||||
drop event white_space;
|
||||
create event e1 on schedule every 1 year do set @a = 5;
|
||||
|
@@ -178,4 +178,27 @@ drop procedure ee_16407_6_pendant;
|
||||
set global event_scheduler= 2;
|
||||
drop table events_smode_test;
|
||||
set sql_mode=@old_sql_mode;
|
||||
set global event_scheduler=2;
|
||||
delete from mysql.user where User like 'mysqltest_%';
|
||||
delete from mysql.db where User like 'mysqltest_%';
|
||||
flush privileges;
|
||||
drop database if exists mysqltest_db1;
|
||||
create user mysqltest_user1@localhost;
|
||||
create database mysqltest_db1;
|
||||
grant event on events_test.* to mysqltest_user1@localhost;
|
||||
create event mysqltest_user1 on schedule every 10 second do select 42;
|
||||
alter event mysqltest_user1 rename to mysqltest_db1.mysqltest_user1;
|
||||
ERROR 42000: Access denied for user 'mysqltest_user1'@'localhost' to database 'mysqltest_db1'
|
||||
"Let's test now rename when there is no select DB"
|
||||
select database();
|
||||
database()
|
||||
NULL
|
||||
alter event events_test.mysqltest_user1 rename to mysqltest_user1;
|
||||
ERROR 3D000: No database selected
|
||||
select event_schema, event_name, definer, event_type, status from information_schema.events;
|
||||
event_schema event_name definer event_type status
|
||||
events_test mysqltest_user1 mysqltest_user1@localhost RECURRING ENABLED
|
||||
drop event events_test.mysqltest_user1;
|
||||
drop user mysqltest_user1@localhost;
|
||||
drop database mysqltest_db1;
|
||||
drop database events_test;
|
||||
|
@@ -4,9 +4,9 @@ CREATE EVENT one_event ON SCHEDULE EVERY 10 SECOND DO SELECT 123;
|
||||
SHOW EVENTS;
|
||||
Db Name Definer Type Execute at Interval value Interval field Starts Ends Status
|
||||
events_test one_event root@localhost RECURRING NULL 10 SECOND # # ENABLED
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT from information_schema.events;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT from information_schema.events;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
CREATE DATABASE events_test2;
|
||||
CREATE USER ev_test@localhost;
|
||||
GRANT ALL ON events_test.* to ev_test@localhost;
|
||||
@@ -57,65 +57,65 @@ USE events_test2;
|
||||
CREATE EVENT four_event ON SCHEDULE EVERY 20 SECOND DO SELECT 42;
|
||||
USE events_test;
|
||||
"We should see 4 events : one_event, two_event, three_event & four_event"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
NULL events_test two_event ev_test@localhost SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
|
||||
NULL events_test three_event ev_test@localhost SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
|
||||
NULL events_test2 four_event ev_test@localhost SELECT 42 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
NULL events_test two_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
|
||||
NULL events_test three_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
|
||||
NULL events_test2 four_event ev_test@localhost SQL SELECT 42 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE
|
||||
DROP DATABASE events_test2;
|
||||
"We should see 3 events : one_event, two_event, three_event"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
NULL events_test two_event ev_test@localhost SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
|
||||
NULL events_test three_event ev_test@localhost SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
NULL events_test two_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
|
||||
NULL events_test three_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
|
||||
CREATE DATABASE events_test2;
|
||||
USE events_test2;
|
||||
CREATE EVENT five_event ON SCHEDULE EVERY 20 SECOND DO SELECT 42;
|
||||
"Should see 4 events - one, two, three & five"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
NULL events_test two_event ev_test@localhost SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
|
||||
NULL events_test three_event ev_test@localhost SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
|
||||
NULL events_test2 five_event root@localhost SELECT 42 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
NULL events_test two_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
|
||||
NULL events_test three_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
|
||||
NULL events_test2 five_event root@localhost SQL SELECT 42 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE
|
||||
REVOKE EVENT ON events_test2.* FROM ev_test@localhost;
|
||||
USE test;
|
||||
"Should see 3 events - one, two & three"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
NULL events_test two_event ev_test@localhost SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
|
||||
NULL events_test three_event ev_test@localhost SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
NULL events_test two_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
|
||||
NULL events_test three_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
|
||||
"Let's test ALTER EVENT which changes the definer"
|
||||
USE events_test;
|
||||
ALTER EVENT one_event ON SCHEDULE EVERY 10 SECOND;
|
||||
"The definer should be ev_test@localhost"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event ev_test@localhost SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event ev_test@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE
|
||||
USE events_test;
|
||||
ALTER EVENT one_event COMMENT "comment";
|
||||
"The definer should be root@localhost"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE comment
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event root@localhost SQL SELECT 123 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE comment
|
||||
ALTER EVENT one_event DO SELECT 12;
|
||||
"The definer should be ev_test@localhost"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event ev_test@localhost SELECT 12 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE comment
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test one_event ev_test@localhost SQL SELECT 12 RECURRING NULL 10 SECOND ENABLED NOT PRESERVE comment
|
||||
"make the definer again root@localhost"
|
||||
ALTER EVENT one_event COMMENT "new comment";
|
||||
"test DROP by another user"
|
||||
DROP EVENT one_event;
|
||||
"One event should not be there"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test two_event ev_test@localhost SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
|
||||
NULL events_test three_event ev_test@localhost SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
|
||||
NULL events_test2 five_event root@localhost SELECT 42 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
EVENT_CATALOG EVENT_SCHEMA EVENT_NAME DEFINER EVENT_BODY EVENT_DEFINITION EVENT_TYPE EXECUTE_AT INTERVAL_VALUE INTERVAL_FIELD STATUS ON_COMPLETION EVENT_COMMENT
|
||||
NULL events_test two_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE two event
|
||||
NULL events_test three_event ev_test@localhost SQL SELECT 123 RECURRING NULL 20 SECOND ENABLED PRESERVE three event
|
||||
NULL events_test2 five_event root@localhost SQL SELECT 42 RECURRING NULL 20 SECOND ENABLED NOT PRESERVE
|
||||
DROP USER ev_test@localhost;
|
||||
DROP DATABASE events_test2;
|
||||
DROP DATABASE events_test;
|
||||
|
@@ -31,6 +31,8 @@ SHOW VARIABLES LIKE 'log_slow_queries';
|
||||
Variable_name Value
|
||||
log_slow_queries ON
|
||||
DROP FUNCTION get_value;
|
||||
"Make it quite long"
|
||||
SET SESSION long_query_time=300;
|
||||
TRUNCATE mysql.slow_log;
|
||||
SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
||||
user_host query_time db sql_text
|
||||
@@ -44,7 +46,10 @@ SLEEP(2)
|
||||
SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
||||
user_host query_time db sql_text
|
||||
USER_HOST SLEEPVAL events_test SELECT SLEEP(2)
|
||||
SET SESSION long_query_time=300;
|
||||
"Make it quite long"
|
||||
TRUNCATE mysql.slow_log;
|
||||
SET SESSION long_query_time=1;
|
||||
CREATE TABLE slow_event_test (slo_val tinyint, val tinyint);
|
||||
"This won't go to the slow log"
|
||||
CREATE EVENT long_event ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(3);
|
||||
@@ -63,9 +68,9 @@ slo_val val
|
||||
SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
||||
user_host query_time db sql_text
|
||||
"This should go to the slow log"
|
||||
DROP EVENT long_event;
|
||||
SET SESSION long_query_time=10;
|
||||
SET GLOBAL long_query_time=1;
|
||||
DROP EVENT long_event;
|
||||
CREATE EVENT long_event2 ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(2);
|
||||
"Sleep some more time than the actual event run will take"
|
||||
"Check our table. Should see 2 rows"
|
||||
@@ -78,8 +83,10 @@ SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
||||
user_host query_time db sql_text
|
||||
USER_HOST SLEEPVAL events_test INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(2)
|
||||
DROP EVENT long_event2;
|
||||
SET GLOBAL long_query_time =@old_global_long_query_time;
|
||||
SET SESSION long_query_time =@old_session_long_query_time;
|
||||
"Make it quite long"
|
||||
SET SESSION long_query_time=300;
|
||||
TRUNCATE mysql.slow_log;
|
||||
DROP TABLE slow_event_test;
|
||||
SET GLOBAL long_query_time =@old_global_long_query_time;
|
||||
SET SESSION long_query_time =@old_session_long_query_time;
|
||||
drop database events_test;
|
||||
|
@@ -1,6 +1,8 @@
|
||||
CREATE DATABASE IF NOT EXISTS events_test;
|
||||
CREATE DATABASE events_conn1_test2;
|
||||
CREATE TABLE events_test.fill_it(test_name varchar(20), occur datetime);
|
||||
CREATE TABLE events_test.fill_it1(test_name varchar(20), occur datetime);
|
||||
CREATE TABLE events_test.fill_it2(test_name varchar(20), occur datetime);
|
||||
CREATE TABLE events_test.fill_it3(test_name varchar(20), occur datetime);
|
||||
CREATE USER event_user2@localhost;
|
||||
CREATE DATABASE events_conn2_db;
|
||||
GRANT ALL ON *.* TO event_user2@localhost;
|
||||
@@ -57,5 +59,7 @@ SET GLOBAL event_scheduler=2;
|
||||
DROP DATABASE events_conn1_test4;
|
||||
SET GLOBAL event_scheduler=1;
|
||||
USE events_test;
|
||||
DROP TABLE fill_it;
|
||||
DROP TABLE fill_it1;
|
||||
DROP TABLE fill_it2;
|
||||
DROP TABLE fill_it3;
|
||||
DROP DATABASE events_test;
|
||||
|
@@ -13,7 +13,9 @@ Variable_name Value
|
||||
server_id 1
|
||||
|
||||
---> connection: default
|
||||
CREATE INSTANCE mysqld3;
|
||||
CREATE INSTANCE mysqld3
|
||||
server_id = 3,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_3.sock";
|
||||
SHOW INSTANCES;
|
||||
instance_name state
|
||||
mysqld3 offline
|
||||
@@ -22,6 +24,7 @@ mysqld1 online
|
||||
--------------------------------------------------------------------
|
||||
server_id = 1
|
||||
server_id = 2
|
||||
server_id=3
|
||||
--------------------------------------------------------------------
|
||||
CREATE INSTANCE mysqld1;
|
||||
ERROR HY000: Instance already exists
|
||||
@@ -32,7 +35,10 @@ ERROR HY000: Instance already exists
|
||||
--------------------------------------------------------------------
|
||||
nonguarded
|
||||
--------------------------------------------------------------------
|
||||
CREATE INSTANCE mysqld4 nonguarded;
|
||||
CREATE INSTANCE mysqld4
|
||||
nonguarded,
|
||||
server_id = 4,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_4.sock";
|
||||
SHOW INSTANCES;
|
||||
instance_name state
|
||||
mysqld3 offline
|
||||
@@ -46,7 +52,11 @@ nonguarded
|
||||
--------------------------------------------------------------------
|
||||
--------------------------------------------------------------------
|
||||
--------------------------------------------------------------------
|
||||
CREATE INSTANCE mysqld5 test-A = 000, test-B = test;
|
||||
CREATE INSTANCE mysqld5
|
||||
test-A = 000,
|
||||
test-B = test,
|
||||
server_id = 5,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_5.sock";
|
||||
SHOW INSTANCES;
|
||||
instance_name state
|
||||
mysqld1 online
|
||||
@@ -61,7 +71,11 @@ test-B=test
|
||||
--------------------------------------------------------------------
|
||||
--------------------------------------------------------------------
|
||||
--------------------------------------------------------------------
|
||||
CREATE INSTANCE mysqld6 test-C1 = 10 , test-C2 = 02 ;
|
||||
CREATE INSTANCE mysqld6
|
||||
test-C1 = 10 ,
|
||||
test-C2 = 02 ,
|
||||
server_id = 6,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_6.sock";
|
||||
SHOW INSTANCES;
|
||||
instance_name state
|
||||
mysqld1 online
|
||||
@@ -116,7 +130,11 @@ mysqld4 offline
|
||||
--------------------------------------------------------------------
|
||||
--------------------------------------------------------------------
|
||||
--------------------------------------------------------------------
|
||||
CREATE INSTANCE mysqld9 test-1=" hello world ", test-2=' ';
|
||||
CREATE INSTANCE mysqld9
|
||||
test-1=" hello world ",
|
||||
test-2=' ',
|
||||
server_id = 9,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_9.sock";
|
||||
SHOW INSTANCES;
|
||||
instance_name state
|
||||
mysqld1 online
|
||||
@@ -126,56 +144,67 @@ mysqld6 offline
|
||||
mysqld3 offline
|
||||
mysqld4 offline
|
||||
mysqld9 offline
|
||||
CREATE INSTANCE mysqld9a test-3='\b\babc\sdef';
|
||||
CREATE INSTANCE mysqld10
|
||||
test-3='\b\babc\sdef',
|
||||
server_id = 10,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_10.sock";
|
||||
SHOW INSTANCES;
|
||||
instance_name state
|
||||
mysqld1 online
|
||||
mysqld9a offline
|
||||
mysqld9 offline
|
||||
mysqld5 offline
|
||||
mysqld6 offline
|
||||
mysqld3 offline
|
||||
mysqld4 offline
|
||||
mysqld9 offline
|
||||
mysqld10 offline
|
||||
mysqld2 offline
|
||||
CREATE INSTANCE mysqld9b test-4='abc\tdef', test-5='abc\ndef';
|
||||
CREATE INSTANCE mysqld11
|
||||
test-4='abc\tdef',
|
||||
test-5='abc\ndef',
|
||||
server_id = 11,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_11.sock";
|
||||
SHOW INSTANCES;
|
||||
instance_name state
|
||||
mysqld9b offline
|
||||
mysqld9a offline
|
||||
mysqld1 online
|
||||
mysqld11 offline
|
||||
mysqld5 offline
|
||||
mysqld6 offline
|
||||
mysqld3 offline
|
||||
mysqld4 offline
|
||||
mysqld9 offline
|
||||
mysqld10 offline
|
||||
mysqld2 offline
|
||||
mysqld1 online
|
||||
CREATE INSTANCE mysqld9c test-6="abc\rdef", test-7="abc\\def";
|
||||
mysqld9 offline
|
||||
CREATE INSTANCE mysqld12
|
||||
test-6="abc\rdef",
|
||||
test-7="abc\\def",
|
||||
server_id = 12,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_12.sock";
|
||||
SHOW INSTANCES;
|
||||
instance_name state
|
||||
mysqld9b offline
|
||||
mysqld6 offline
|
||||
mysqld1 online
|
||||
mysqld9 offline
|
||||
mysqld5 offline
|
||||
mysqld9c offline
|
||||
mysqld6 offline
|
||||
mysqld3 offline
|
||||
mysqld4 offline
|
||||
mysqld9 offline
|
||||
mysqld10 offline
|
||||
mysqld2 offline
|
||||
mysqld1 online
|
||||
mysqld9a offline
|
||||
CREATE INSTANCE mysqld10 test-bad=' \ ';
|
||||
mysqld12 offline
|
||||
mysqld11 offline
|
||||
CREATE INSTANCE mysqld13 test-bad=' \ ';
|
||||
ERROR 42000: You have an error in your command syntax. Check the manual that corresponds to your MySQL Instance Manager version for the right syntax to use
|
||||
SHOW INSTANCES;
|
||||
instance_name state
|
||||
mysqld9b offline
|
||||
mysqld6 offline
|
||||
mysqld1 online
|
||||
mysqld9 offline
|
||||
mysqld5 offline
|
||||
mysqld9c offline
|
||||
mysqld6 offline
|
||||
mysqld3 offline
|
||||
mysqld4 offline
|
||||
mysqld9 offline
|
||||
mysqld10 offline
|
||||
mysqld2 offline
|
||||
mysqld1 online
|
||||
mysqld9a offline
|
||||
mysqld12 offline
|
||||
mysqld11 offline
|
||||
--------------------------------------------------------------------
|
||||
test-1= hello world
|
||||
--------------------------------------------------------------------
|
||||
|
@@ -13,7 +13,10 @@ UNSET mysqld1.server_id;
|
||||
ERROR HY000: The instance is active. Stop the instance first
|
||||
SET mysqld1.server_id = 11;
|
||||
ERROR HY000: The instance is active. Stop the instance first
|
||||
CREATE INSTANCE mysqld3 datadir = '/';
|
||||
CREATE INSTANCE mysqld3
|
||||
datadir = '/',
|
||||
server_id = 3,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_3.sock";
|
||||
START INSTANCE mysqld3;
|
||||
UNSET mysqld3.server_id;
|
||||
ERROR HY000: The instance is active. Stop the instance first
|
||||
@@ -101,12 +104,14 @@ ERROR HY000: Bad instance name. Check that the instance with such a name exists
|
||||
--------------------------------------------------------------------
|
||||
server_id = 1
|
||||
server_id=2
|
||||
server_id=3
|
||||
--------------------------------------------------------------------
|
||||
UNSET mysqld2.server_id, mysqld3.server_id, mysqld1.ccc;
|
||||
ERROR HY000: The instance is active. Stop the instance first
|
||||
--------------------------------------------------------------------
|
||||
server_id = 1
|
||||
server_id=2
|
||||
server_id=3
|
||||
--------------------------------------------------------------------
|
||||
DROP INSTANCE mysqld3;
|
||||
SET mysqld2.server_id=222;
|
||||
|
@@ -756,7 +756,7 @@ information_schema.columns
|
||||
where data_type = 'longtext';
|
||||
table_schema table_name column_name
|
||||
information_schema COLUMNS COLUMN_TYPE
|
||||
information_schema EVENTS EVENT_BODY
|
||||
information_schema EVENTS EVENT_DEFINITION
|
||||
information_schema EVENTS SQL_MODE
|
||||
information_schema PARTITIONS PARTITION_EXPRESSION
|
||||
information_schema PARTITIONS SUBPARTITION_EXPRESSION
|
||||
|
@@ -1,5 +1,7 @@
|
||||
drop table if exists t1,t2;
|
||||
drop table if exists t1,t2;
|
||||
drop table if exists t1,t2,t3;
|
||||
drop table if exists t1,t2,t3;
|
||||
CREATE TABLE t3 (dummy INT PRIMARY KEY) ENGINE = NDB;
|
||||
DROP TABLE t3;
|
||||
reset master;
|
||||
reset master;
|
||||
CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB;
|
||||
|
@@ -237,3 +237,21 @@ deallocate prepare stmt;
|
||||
drop table t1;
|
||||
drop view v1, v2, v3;
|
||||
drop function bug15683;
|
||||
drop table if exists t1, t2, t3;
|
||||
drop function if exists bug19634;
|
||||
create table t1 (id int, data int);
|
||||
create table t2 (id int);
|
||||
create table t3 (data int);
|
||||
create function bug19634() returns int return (select count(*) from t3);
|
||||
prepare stmt from "delete t1 from t1, t2 where t1.id = t2.id and bug19634()";
|
||||
execute stmt;
|
||||
execute stmt;
|
||||
deallocate prepare stmt;
|
||||
create trigger t1_bi before delete on t1 for each row insert into t3 values (old.data);
|
||||
prepare stmt from "delete t1 from t1, t2 where t1.id = t2.id";
|
||||
execute stmt;
|
||||
execute stmt;
|
||||
deallocate prepare stmt;
|
||||
drop function bug19634;
|
||||
drop table t1, t2, t3;
|
||||
End of 5.0 tests
|
||||
|
@@ -5000,4 +5000,25 @@ CALL bug18037_p2()|
|
||||
DROP FUNCTION bug18037_f1|
|
||||
DROP PROCEDURE bug18037_p1|
|
||||
DROP PROCEDURE bug18037_p2|
|
||||
drop table if exists t3|
|
||||
drop procedure if exists bug15217|
|
||||
create table t3 as select 1|
|
||||
create procedure bug15217()
|
||||
begin
|
||||
declare var1 char(255);
|
||||
declare cur1 cursor for select * from t3;
|
||||
open cur1;
|
||||
fetch cur1 into var1;
|
||||
select concat('data was: /', var1, '/');
|
||||
close cur1;
|
||||
end |
|
||||
call bug15217()|
|
||||
concat('data was: /', var1, '/')
|
||||
data was: /1/
|
||||
flush tables |
|
||||
call bug15217()|
|
||||
concat('data was: /', var1, '/')
|
||||
data was: /1/
|
||||
drop table t3|
|
||||
drop procedure bug15217|
|
||||
drop table t1,t2;
|
||||
|
@@ -13,9 +13,9 @@
|
||||
#events_stress : BUG#17619 2006-02-21 andrey Race conditions
|
||||
#events : BUG#17619 2006-02-21 andrey Race conditions
|
||||
#events_scheduling : BUG#19170 2006-04-26 andrey Test case of 19170 fails on some platforms. Has to be checked.
|
||||
im_instance_conf : Bug#20294 2006-06-06 monty Instance manager test im_instance_conf fails randomly
|
||||
im_options : Bug#20294 2006-06-06 monty Instance manager test im_instance_conf fails randomly
|
||||
im_life_cycle : Bug#20368 2006-06-10 alik im_life_cycle test fails
|
||||
#im_instance_conf : Bug#20294 2006-06-06 monty Instance manager test im_instance_conf fails randomly
|
||||
#im_options : Bug#20294 2006-06-06 monty Instance manager test im_instance_conf fails randomly
|
||||
#im_life_cycle : Bug#20368 2006-06-10 alik im_life_cycle test fails
|
||||
ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog
|
||||
ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog
|
||||
#ndb_binlog_discover : BUG#19395 2006-04-28 tomas/knielsen mysqld does not always detect cluster shutdown
|
||||
@@ -26,7 +26,6 @@ partition_03ndb : BUG#16385 2006-03-24 mikael Partitions: crash when up
|
||||
ps_7ndb : BUG#18950 2006-02-16 jmiller create table like does not obtain LOCK_open
|
||||
rpl_ndb_2innodb : BUG#19227 2006-04-20 pekka pk delete apparently not replicated
|
||||
rpl_ndb_2myisam : BUG#19227 Seems to pass currently
|
||||
rpl_ndb_auto_inc : BUG#17086 2006-02-16 jmiller CR: auto_increment_increment and auto_increment_offset produce duplicate key er
|
||||
#rpl_ndb_commit_afterflush : BUG#19328 2006-05-04 tomas Slave timeout with COM_REGISTER_SLAVE error causing stop
|
||||
rpl_ndb_dd_partitions : BUG#19259 2006-04-21 rpl_ndb_dd_partitions fails on s/AMD
|
||||
rpl_ndb_ddl : BUG#18946 result file needs update + test needs to checked
|
||||
|
@@ -1,3 +1,6 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
create database if not exists events_test;
|
||||
use events_test;
|
||||
|
||||
@@ -327,15 +330,15 @@ on schedule every 10 hour
|
||||
disable
|
||||
do
|
||||
select 1;
|
||||
select event_schema, event_name, definer, event_body from information_schema.events where event_name='white_space';
|
||||
select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
|
||||
drop event white_space;
|
||||
create event white_space on schedule every 10 hour disable do
|
||||
|
||||
select 2;
|
||||
select event_schema, event_name, definer, event_body from information_schema.events where event_name='white_space';
|
||||
select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
|
||||
drop event white_space;
|
||||
create event white_space on schedule every 10 hour disable do select 3;
|
||||
select event_schema, event_name, definer, event_body from information_schema.events where event_name='white_space';
|
||||
select event_schema, event_name, definer, event_definition from information_schema.events where event_name='white_space';
|
||||
drop event white_space;
|
||||
#
|
||||
# END: BUG #17453: Creating Event crash the server
|
||||
|
@@ -1,3 +1,6 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
create database if not exists events_test;
|
||||
use events_test;
|
||||
|
||||
@@ -172,4 +175,38 @@ set sql_mode=@old_sql_mode;
|
||||
#
|
||||
# End - 16407: Events: Changes in sql_mode won't be taken into account
|
||||
#
|
||||
|
||||
#
|
||||
# START - 18897: Events: unauthorized action possible with alter event rename
|
||||
#
|
||||
set global event_scheduler=2;
|
||||
--disable_warnings
|
||||
delete from mysql.user where User like 'mysqltest_%';
|
||||
delete from mysql.db where User like 'mysqltest_%';
|
||||
flush privileges;
|
||||
drop database if exists mysqltest_db1;
|
||||
--enable_warnings
|
||||
create user mysqltest_user1@localhost;
|
||||
create database mysqltest_db1;
|
||||
grant event on events_test.* to mysqltest_user1@localhost;
|
||||
connect (conn2,localhost,mysqltest_user1,,events_test);
|
||||
create event mysqltest_user1 on schedule every 10 second do select 42;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
alter event mysqltest_user1 rename to mysqltest_db1.mysqltest_user1;
|
||||
--echo "Let's test now rename when there is no select DB"
|
||||
disconnect conn2;
|
||||
connect (conn2,localhost,mysqltest_user1,,*NO-ONE*);
|
||||
select database();
|
||||
--error ER_NO_DB_ERROR
|
||||
alter event events_test.mysqltest_user1 rename to mysqltest_user1;
|
||||
select event_schema, event_name, definer, event_type, status from information_schema.events;
|
||||
drop event events_test.mysqltest_user1;
|
||||
disconnect conn2;
|
||||
connection default;
|
||||
drop user mysqltest_user1@localhost;
|
||||
drop database mysqltest_db1;
|
||||
#
|
||||
# END - 18897: Events: unauthorized action possible with alter event rename
|
||||
#
|
||||
|
||||
drop database events_test;
|
||||
|
@@ -1,3 +1,6 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
CREATE DATABASE IF NOT EXISTS events_test;
|
||||
use events_test;
|
||||
#
|
||||
@@ -6,7 +9,7 @@ use events_test;
|
||||
CREATE EVENT one_event ON SCHEDULE EVERY 10 SECOND DO SELECT 123;
|
||||
--replace_column 8 # 9 #
|
||||
SHOW EVENTS;
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT from information_schema.events;
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT from information_schema.events;
|
||||
CREATE DATABASE events_test2;
|
||||
CREATE USER ev_test@localhost;
|
||||
GRANT ALL ON events_test.* to ev_test@localhost;
|
||||
@@ -52,10 +55,10 @@ CREATE EVENT four_event ON SCHEDULE EVERY 20 SECOND DO SELECT 42;
|
||||
connection default;
|
||||
USE events_test;
|
||||
--echo "We should see 4 events : one_event, two_event, three_event & four_event"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
DROP DATABASE events_test2;
|
||||
--echo "We should see 3 events : one_event, two_event, three_event"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
|
||||
connection default;
|
||||
CREATE DATABASE events_test2;
|
||||
@@ -64,27 +67,27 @@ CREATE EVENT five_event ON SCHEDULE EVERY 20 SECOND DO SELECT 42;
|
||||
|
||||
connection ev_con1;
|
||||
--echo "Should see 4 events - one, two, three & five"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
connection default;
|
||||
REVOKE EVENT ON events_test2.* FROM ev_test@localhost;
|
||||
connection ev_con1;
|
||||
USE test;
|
||||
--echo "Should see 3 events - one, two & three"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
--echo "Let's test ALTER EVENT which changes the definer"
|
||||
USE events_test;
|
||||
ALTER EVENT one_event ON SCHEDULE EVERY 10 SECOND;
|
||||
--echo "The definer should be ev_test@localhost"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
connection default;
|
||||
USE events_test;
|
||||
ALTER EVENT one_event COMMENT "comment";
|
||||
connection ev_con1;
|
||||
--echo "The definer should be root@localhost"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
ALTER EVENT one_event DO SELECT 12;
|
||||
--echo "The definer should be ev_test@localhost"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME='one_event';
|
||||
connection default;
|
||||
--echo "make the definer again root@localhost"
|
||||
ALTER EVENT one_event COMMENT "new comment";
|
||||
@@ -93,7 +96,7 @@ connection ev_con1;
|
||||
DROP EVENT one_event;
|
||||
connection default;
|
||||
--echo "One event should not be there"
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
SELECT EVENT_CATALOG, EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_BODY, EVENT_DEFINITION, EVENT_TYPE, EXECUTE_AT, INTERVAL_VALUE, INTERVAL_FIELD, STATUS,ON_COMPLETION, EVENT_COMMENT FROM INFORMATION_SCHEMA.EVENTS;
|
||||
disconnect ev_con1;
|
||||
connection default;
|
||||
DROP USER ev_test@localhost;
|
||||
|
@@ -1,3 +1,6 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
create database if not exists events_test;
|
||||
use events_test;
|
||||
--echo "We use procedure here because its statements won't be logged into the general log"
|
||||
@@ -51,6 +54,8 @@ SET @old_global_long_query_time:=(select get_value());
|
||||
SET @old_session_long_query_time:=@@long_query_time;
|
||||
SHOW VARIABLES LIKE 'log_slow_queries';
|
||||
DROP FUNCTION get_value;
|
||||
--echo "Make it quite long"
|
||||
SET SESSION long_query_time=300;
|
||||
TRUNCATE mysql.slow_log;
|
||||
--replace_column 1 USER_HOST
|
||||
SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
||||
@@ -61,7 +66,10 @@ SET SESSION long_query_time=1;
|
||||
SELECT SLEEP(2);
|
||||
--replace_column 1 USER_HOST 2 SLEEPVAL
|
||||
SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
||||
SET SESSION long_query_time=300;
|
||||
--echo "Make it quite long"
|
||||
TRUNCATE mysql.slow_log;
|
||||
SET SESSION long_query_time=1;
|
||||
CREATE TABLE slow_event_test (slo_val tinyint, val tinyint);
|
||||
--echo "This won't go to the slow log"
|
||||
CREATE EVENT long_event ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(3);
|
||||
@@ -75,9 +83,9 @@ SELECT * FROM slow_event_test;
|
||||
--echo "Check slow log. Should not see anything because 3 is under the threshold of 4 for GLOBAL, though over SESSION which is 2"
|
||||
SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
||||
--echo "This should go to the slow log"
|
||||
DROP EVENT long_event;
|
||||
SET SESSION long_query_time=10;
|
||||
SET GLOBAL long_query_time=1;
|
||||
DROP EVENT long_event;
|
||||
CREATE EVENT long_event2 ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(2);
|
||||
--echo "Sleep some more time than the actual event run will take"
|
||||
--sleep 3
|
||||
@@ -87,9 +95,11 @@ SELECT * FROM slow_event_test;
|
||||
--replace_column 1 USER_HOST 2 SLEEPVAL
|
||||
SELECT user_host, query_time, db, sql_text FROM mysql.slow_log;
|
||||
DROP EVENT long_event2;
|
||||
SET GLOBAL long_query_time =@old_global_long_query_time;
|
||||
SET SESSION long_query_time =@old_session_long_query_time;
|
||||
--echo "Make it quite long"
|
||||
SET SESSION long_query_time=300;
|
||||
TRUNCATE mysql.slow_log;
|
||||
DROP TABLE slow_event_test;
|
||||
SET GLOBAL long_query_time =@old_global_long_query_time;
|
||||
SET SESSION long_query_time =@old_session_long_query_time;
|
||||
|
||||
drop database events_test;
|
||||
|
@@ -1,3 +1,6 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
--disable_warnings
|
||||
create database if not exists events_test;
|
||||
--enable_warnings
|
||||
|
@@ -1,3 +1,6 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
CREATE DATABASE IF NOT EXISTS events_test;
|
||||
USE events_test;
|
||||
CREATE TABLE table_1(a int);
|
||||
|
@@ -1,9 +1,16 @@
|
||||
# Can't test with embedded server that doesn't support grants
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
CREATE DATABASE IF NOT EXISTS events_test;
|
||||
#
|
||||
# DROP DATABASE test start (bug #16406)
|
||||
#
|
||||
CREATE DATABASE events_conn1_test2;
|
||||
CREATE TABLE events_test.fill_it(test_name varchar(20), occur datetime);
|
||||
# BUG#20676: MySQL in debug mode has a limit of 100 waiters
|
||||
# (in mysys/thr_lock.c), so use three different tables to insert into.
|
||||
CREATE TABLE events_test.fill_it1(test_name varchar(20), occur datetime);
|
||||
CREATE TABLE events_test.fill_it2(test_name varchar(20), occur datetime);
|
||||
CREATE TABLE events_test.fill_it3(test_name varchar(20), occur datetime);
|
||||
CREATE USER event_user2@localhost;
|
||||
CREATE DATABASE events_conn2_db;
|
||||
GRANT ALL ON *.* TO event_user2@localhost;
|
||||
@@ -16,7 +23,7 @@ connect (conn2,localhost,event_user2,,events_conn2_db);
|
||||
let $1= 50;
|
||||
while ($1)
|
||||
{
|
||||
eval CREATE EVENT conn2_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it VALUES("conn2_ev$1", NOW());
|
||||
eval CREATE EVENT conn2_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it1 VALUES("conn2_ev$1", NOW());
|
||||
dec $1;
|
||||
}
|
||||
--enable_query_log
|
||||
@@ -26,7 +33,7 @@ connect (conn3,localhost,event_user3,,events_conn3_db);
|
||||
let $1= 50;
|
||||
while ($1)
|
||||
{
|
||||
eval CREATE EVENT conn3_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it VALUES("conn3_ev$1", NOW());
|
||||
eval CREATE EVENT conn3_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it1 VALUES("conn3_ev$1", NOW());
|
||||
dec $1;
|
||||
}
|
||||
--enable_query_log
|
||||
@@ -48,7 +55,7 @@ USE events_conn1_test2;
|
||||
let $1= 50;
|
||||
while ($1)
|
||||
{
|
||||
eval CREATE EVENT conn1_round1_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it VALUES("conn1_round1_ev$1", NOW());
|
||||
eval CREATE EVENT conn1_round1_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it2 VALUES("conn1_round1_ev$1", NOW());
|
||||
dec $1;
|
||||
}
|
||||
--enable_query_log
|
||||
@@ -65,7 +72,7 @@ USE events_conn1_test3;
|
||||
let $1= 50;
|
||||
while ($1)
|
||||
{
|
||||
eval CREATE EVENT conn1_round2_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it VALUES("conn1_round2_ev$1", NOW());
|
||||
eval CREATE EVENT conn1_round2_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it2 VALUES("conn1_round2_ev$1", NOW());
|
||||
dec $1;
|
||||
}
|
||||
--enable_query_log
|
||||
@@ -77,7 +84,7 @@ USE events_conn1_test4;
|
||||
let $1= 50;
|
||||
while ($1)
|
||||
{
|
||||
eval CREATE EVENT conn1_round3_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it VALUES("conn1_round3_ev$1", NOW());
|
||||
eval CREATE EVENT conn1_round3_ev$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it3 VALUES("conn1_round3_ev$1", NOW());
|
||||
dec $1;
|
||||
}
|
||||
--enable_query_log
|
||||
@@ -88,7 +95,7 @@ USE events_conn1_test2;
|
||||
let $1= 50;
|
||||
while ($1)
|
||||
{
|
||||
eval CREATE EVENT ev_round4_drop$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it VALUES("conn1_round4_ev$1", NOW());
|
||||
eval CREATE EVENT ev_round4_drop$1 ON SCHEDULE EVERY 1 SECOND DO INSERT INTO events_test.fill_it3 VALUES("conn1_round4_ev$1", NOW());
|
||||
dec $1;
|
||||
}
|
||||
--enable_query_log
|
||||
@@ -115,7 +122,9 @@ reap;
|
||||
disconnect conn3;
|
||||
connection default;
|
||||
USE events_test;
|
||||
DROP TABLE fill_it;
|
||||
DROP TABLE fill_it1;
|
||||
DROP TABLE fill_it2;
|
||||
DROP TABLE fill_it3;
|
||||
--disable_query_log
|
||||
DROP USER event_user2@localhost;
|
||||
DROP USER event_user3@localhost;
|
||||
|
@@ -21,6 +21,9 @@
|
||||
# - DROP INSTANCE fails for active instance.
|
||||
# - DROP INSTANCE updates both config file and internal configuration cache;
|
||||
#
|
||||
# NOTE: each CREATE INSTANCE statement must specify socket-file-name, otherwise
|
||||
# this results of the test can be affected by another running test suite.
|
||||
#
|
||||
###########################################################################
|
||||
|
||||
--source include/im_check_os.inc
|
||||
@@ -69,7 +72,9 @@ SHOW VARIABLES LIKE 'server_id';
|
||||
# Check that CREATE INSTANCE succeeds for non-existing instance and also check
|
||||
# that both config file and internal configuration cache have been updated.
|
||||
|
||||
CREATE INSTANCE mysqld3;
|
||||
CREATE INSTANCE mysqld3
|
||||
server_id = 3,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_3.sock";
|
||||
|
||||
SHOW INSTANCES;
|
||||
|
||||
@@ -99,7 +104,10 @@ CREATE INSTANCE mysqld3;
|
||||
--exec grep nonguarded $MYSQLTEST_VARDIR/im.cnf;
|
||||
--echo --------------------------------------------------------------------
|
||||
|
||||
CREATE INSTANCE mysqld4 nonguarded;
|
||||
CREATE INSTANCE mysqld4
|
||||
nonguarded,
|
||||
server_id = 4,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_4.sock";
|
||||
|
||||
SHOW INSTANCES;
|
||||
|
||||
@@ -115,7 +123,11 @@ SHOW INSTANCES;
|
||||
--exec grep test-B $MYSQLTEST_VARDIR/im.cnf || true;
|
||||
--echo --------------------------------------------------------------------
|
||||
|
||||
CREATE INSTANCE mysqld5 test-A = 000, test-B = test;
|
||||
CREATE INSTANCE mysqld5
|
||||
test-A = 000,
|
||||
test-B = test,
|
||||
server_id = 5,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_5.sock";
|
||||
|
||||
SHOW INSTANCES;
|
||||
|
||||
@@ -135,7 +147,11 @@ SHOW INSTANCES;
|
||||
--exec grep test-C $MYSQLTEST_VARDIR/im.cnf || true;
|
||||
--echo --------------------------------------------------------------------
|
||||
|
||||
CREATE INSTANCE mysqld6 test-C1 = 10 , test-C2 = 02 ;
|
||||
CREATE INSTANCE mysqld6
|
||||
test-C1 = 10 ,
|
||||
test-C2 = 02 ,
|
||||
server_id = 6,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_6.sock";
|
||||
|
||||
SHOW INSTANCES;
|
||||
|
||||
@@ -183,22 +199,37 @@ SHOW INSTANCES;
|
||||
--exec grep test-4 $MYSQLTEST_VARDIR/im.cnf || true;
|
||||
--echo --------------------------------------------------------------------
|
||||
|
||||
CREATE INSTANCE mysqld9 test-1=" hello world ", test-2=' ';
|
||||
CREATE INSTANCE mysqld9
|
||||
test-1=" hello world ",
|
||||
test-2=' ',
|
||||
server_id = 9,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_9.sock";
|
||||
SHOW INSTANCES;
|
||||
|
||||
CREATE INSTANCE mysqld9a test-3='\b\babc\sdef';
|
||||
CREATE INSTANCE mysqld10
|
||||
test-3='\b\babc\sdef',
|
||||
server_id = 10,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_10.sock";
|
||||
# test-3='abc def'
|
||||
SHOW INSTANCES;
|
||||
|
||||
CREATE INSTANCE mysqld9b test-4='abc\tdef', test-5='abc\ndef';
|
||||
CREATE INSTANCE mysqld11
|
||||
test-4='abc\tdef',
|
||||
test-5='abc\ndef',
|
||||
server_id = 11,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_11.sock";
|
||||
SHOW INSTANCES;
|
||||
|
||||
CREATE INSTANCE mysqld9c test-6="abc\rdef", test-7="abc\\def";
|
||||
CREATE INSTANCE mysqld12
|
||||
test-6="abc\rdef",
|
||||
test-7="abc\\def",
|
||||
server_id = 12,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_12.sock";
|
||||
# test-6=abc
|
||||
SHOW INSTANCES;
|
||||
|
||||
--error ER_SYNTAX_ERROR
|
||||
CREATE INSTANCE mysqld10 test-bad=' \ ';
|
||||
CREATE INSTANCE mysqld13 test-bad=' \ ';
|
||||
SHOW INSTANCES;
|
||||
|
||||
--echo --------------------------------------------------------------------
|
||||
|
@@ -21,12 +21,15 @@
|
||||
# - server_id
|
||||
# - port
|
||||
# - nonguarded
|
||||
|
||||
#
|
||||
# Let's test SET statement on the option 'server_id'. It's expected that
|
||||
# originally the instances have the following server ids and states:
|
||||
# - mysqld1: server_id: 1; running (online)
|
||||
# - mysqld2: server_id: 2; stopped (offline)
|
||||
#
|
||||
# NOTE: each CREATE INSTANCE statement must specify socket-file-name, otherwise
|
||||
# this results of the test can be affected by another running test suite.
|
||||
#
|
||||
###########################################################################
|
||||
|
||||
--source include/im_check_os.inc
|
||||
@@ -76,7 +79,10 @@ SET mysqld1.server_id = 11;
|
||||
# - start it;
|
||||
# - try to set/unset options;
|
||||
|
||||
CREATE INSTANCE mysqld3 datadir = '/';
|
||||
CREATE INSTANCE mysqld3
|
||||
datadir = '/',
|
||||
server_id = 3,
|
||||
socket = "$MYSQL_TMP_DIR/mysqld_3.sock";
|
||||
START INSTANCE mysqld3;
|
||||
|
||||
# FIXME: START INSTANCE should be synchronous.
|
||||
|
@@ -4,11 +4,18 @@
|
||||
|
||||
--disable_warnings
|
||||
connection server2;
|
||||
drop table if exists t1,t2;
|
||||
drop table if exists t1,t2,t3;
|
||||
connection server1;
|
||||
drop table if exists t1,t2;
|
||||
drop table if exists t1,t2,t3;
|
||||
--enable_warnings
|
||||
|
||||
# Dummy table create/drop to avoid a race where table is created
|
||||
# before event subscription is set up, causing test failure (BUG#20677).
|
||||
connection server2;
|
||||
CREATE TABLE t3 (dummy INT PRIMARY KEY) ENGINE = NDB;
|
||||
connection server1;
|
||||
DROP TABLE t3;
|
||||
|
||||
# reset for test
|
||||
connection server1;
|
||||
reset master;
|
||||
|
@@ -271,6 +271,35 @@ deallocate prepare stmt;
|
||||
drop table t1;
|
||||
drop view v1, v2, v3;
|
||||
drop function bug15683;
|
||||
|
||||
|
||||
#
|
||||
# End of 5.0 tests
|
||||
# Bug#19634 "Re-execution of multi-delete which involve trigger/stored
|
||||
# function crashes server"
|
||||
#
|
||||
--disable_warnings
|
||||
drop table if exists t1, t2, t3;
|
||||
drop function if exists bug19634;
|
||||
--enable_warnings
|
||||
create table t1 (id int, data int);
|
||||
create table t2 (id int);
|
||||
create table t3 (data int);
|
||||
create function bug19634() returns int return (select count(*) from t3);
|
||||
prepare stmt from "delete t1 from t1, t2 where t1.id = t2.id and bug19634()";
|
||||
# This should not crash server
|
||||
execute stmt;
|
||||
execute stmt;
|
||||
deallocate prepare stmt;
|
||||
|
||||
create trigger t1_bi before delete on t1 for each row insert into t3 values (old.data);
|
||||
prepare stmt from "delete t1 from t1, t2 where t1.id = t2.id";
|
||||
|
||||
execute stmt;
|
||||
execute stmt;
|
||||
deallocate prepare stmt;
|
||||
|
||||
drop function bug19634;
|
||||
drop table t1, t2, t3;
|
||||
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@@ -5893,6 +5893,33 @@ DROP FUNCTION bug18037_f1|
|
||||
DROP PROCEDURE bug18037_p1|
|
||||
DROP PROCEDURE bug18037_p2|
|
||||
|
||||
#
|
||||
# Bug#15217 "Using a SP cursor on a table created with PREPARE fails with
|
||||
# weird error". Check that the code that is supposed to work at
|
||||
# the first execution of a stored procedure actually works for
|
||||
# sp_instr_copen.
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t3|
|
||||
drop procedure if exists bug15217|
|
||||
--enable_warnings
|
||||
create table t3 as select 1|
|
||||
create procedure bug15217()
|
||||
begin
|
||||
declare var1 char(255);
|
||||
declare cur1 cursor for select * from t3;
|
||||
open cur1;
|
||||
fetch cur1 into var1;
|
||||
select concat('data was: /', var1, '/');
|
||||
close cur1;
|
||||
end |
|
||||
# Returns expected result
|
||||
call bug15217()|
|
||||
flush tables |
|
||||
# Returns error with garbage as column name
|
||||
call bug15217()|
|
||||
drop table t3|
|
||||
drop procedure bug15217|
|
||||
|
||||
#
|
||||
# BUG#NNNN: New bug synopsis
|
||||
|
Reference in New Issue
Block a user