📄 trigger-compat.test
字号:
# Test case(s) in this file contain(s) GRANT/REVOKE statements, which are not# supported in embedded server. So, this test should not be run on embedded# server.-- source include/not_embedded.inc############################################################################# Tests for WL#2818:# - Check that triggers created w/o DEFINER information work well:# - create the first trigger;# - manually remove definer information from corresponding TRG file;# - create the second trigger (the first trigger will be reloaded; check# that we receive a warning);# - check that the triggers loaded correctly;############################################################################## Prepare environment.#DELETE FROM mysql.user WHERE User LIKE 'mysqltest_%';DELETE FROM mysql.db WHERE User LIKE 'mysqltest_%';DELETE FROM mysql.tables_priv WHERE User LIKE 'mysqltest_%';DELETE FROM mysql.columns_priv WHERE User LIKE 'mysqltest_%';FLUSH PRIVILEGES;--disable_warningsDROP DATABASE IF EXISTS mysqltest_db1;--enable_warningsCREATE DATABASE mysqltest_db1;CREATE USER mysqltest_dfn@localhost;CREATE USER mysqltest_inv@localhost;GRANT SUPER ON *.* TO mysqltest_dfn@localhost;GRANT CREATE ON mysqltest_db1.* TO mysqltest_dfn@localhost;## Create a table and the first trigger.#--connect (wl2818_definer_con,localhost,mysqltest_dfn,,mysqltest_db1)--connection wl2818_definer_con--echo--echo ---> connection: wl2818_definer_conCREATE TABLE t1(num_value INT);CREATE TABLE t2(user_str TEXT);CREATE TRIGGER wl2818_trg1 BEFORE INSERT ON t1 FOR EACH ROW INSERT INTO t2 VALUES(CURRENT_USER());## Remove definers from TRG file.#--echo--echo ---> patching t1.TRG...--exec grep -v 'definers=' $MYSQLTEST_VARDIR/master-data/mysqltest_db1/t1.TRG > $MYSQLTEST_VARDIR/tmp/t1.TRG--exec mv $MYSQLTEST_VARDIR/tmp/t1.TRG $MYSQLTEST_VARDIR/master-data/mysqltest_db1/t1.TRG## Create a new trigger.#--echoCREATE TRIGGER wl2818_trg2 AFTER INSERT ON t1 FOR EACH ROW INSERT INTO t2 VALUES(CURRENT_USER());--echoSELECT trigger_name, definer FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;--echoSELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;# Clean upDROP TRIGGER wl2818_trg1;DROP TRIGGER wl2818_trg2;disconnect wl2818_definer_con;connection default;use mysqltest_db1;DROP TABLE t1;DROP TABLE t2;DROP USER mysqltest_dfn@localhost;DROP USER mysqltest_inv@localhost;DROP DATABASE mysqltest_db1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -