mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Move mysql-test-run/extra/rpl_tests to suite/rpl/include
Renamed suite/rpl/include/rpl_sync.inc to rpl_sync_test.inc to remove clash with include/rpl_sync.inc
This commit is contained in:
159
mysql-test/suite/rpl/include/rpl_tmp_table_and_DDL.test
Normal file
159
mysql-test/suite/rpl/include/rpl_tmp_table_and_DDL.test
Normal file
@@ -0,0 +1,159 @@
|
||||
#
|
||||
# This test verify if executing DDL statement before trying to manipulate
|
||||
# a temporary table causes row-based replication to break with error 'table
|
||||
# does not exist'.
|
||||
#
|
||||
|
||||
# CREATE TABLE when a temporary table is open.
|
||||
CREATE TEMPORARY TABLE t1 (a INT);
|
||||
EVAL CREATE TABLE t2 (a INT, b INT) ENGINE= $ENGINE_TYPE;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# CREATE EVENT when a temporary table is open.
|
||||
CREATE EVENT e1 ON SCHEDULE EVERY 10 HOUR DO SELECT 1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# ALTER EVENT when a temporary table is open.
|
||||
ALTER EVENT e1 ON SCHEDULE EVERY 20 HOUR DO SELECT 1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# DROP EVENT when a temporary table is open.
|
||||
DROP EVENT IF EXISTS e1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# CREATE PROCEDURE when a temporary table is open.
|
||||
CREATE PROCEDURE p1() SELECT 1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# Alter PROCEDURE when a temporary table is open.
|
||||
ALTER PROCEDURE p1 SQL SECURITY INVOKER;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# CREATE FUNCTION when a temporary table is open.
|
||||
CREATE FUNCTION f1() RETURNS INT RETURN 123;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# ALTER FUNCTION when a temporary table is open.
|
||||
ALTER FUNCTION f1 SQL SECURITY INVOKER;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# CREATE DATABASE when a temporary table is open.
|
||||
CREATE DATABASE mysqltest1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# DROP DATABASE when a temporary table is open.
|
||||
DROP DATABASE mysqltest1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# CREATE USER when a temporary table is open.
|
||||
CREATE USER test_1@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# GRANT select on table to user when a temporary table is open.
|
||||
GRANT SELECT ON t2 TO test_1@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# GRANT all on function to user when a temporary table is open.
|
||||
GRANT ALL ON f1 TO test_1@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# GRANT all on procedure to user when a temporary table is open.
|
||||
GRANT ALL ON p1 TO test_1@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# GRANT usage on *.* to user when a temporary table is open.
|
||||
GRANT USAGE ON *.* TO test_1@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# REVOKE ALL PRIVILEGES on function to user when a temporary table is open.
|
||||
REVOKE ALL PRIVILEGES ON f1 FROM test_1@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# REVOKE ALL PRIVILEGES on procedure to user when a temporary table is open.
|
||||
REVOKE ALL PRIVILEGES ON p1 FROM test_1@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# REVOKE ALL PRIVILEGES on table to user when a temporary table is open.
|
||||
REVOKE ALL PRIVILEGES ON t2 FROM test_1@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# REVOKE usage on *.* from user when a temporary table is open.
|
||||
REVOKE USAGE ON *.* FROM test_1@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# RENAME USER when a temporary table is open.
|
||||
RENAME USER test_1@localhost TO test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# DROP USER when a temporary table is open.
|
||||
DROP USER test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# Test ACL statement in sub statement
|
||||
DELIMITER |;
|
||||
CREATE PROCEDURE p2()
|
||||
BEGIN
|
||||
# CREATE USER when a temporary table is open.
|
||||
CREATE TEMPORARY TABLE t3 (a INT);
|
||||
CREATE USER test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# GRANT select on table to user when a temporary table is open.
|
||||
GRANT SELECT ON t2 TO test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# GRANT all on function to user when a temporary table is open.
|
||||
GRANT ALL ON f1 TO test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# GRANT all on procedure to user when a temporary table is open.
|
||||
GRANT ALL ON p1 TO test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# GRANT usage on *.* to user when a temporary table is open.
|
||||
GRANT USAGE ON *.* TO test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# REVOKE ALL PRIVILEGES on function to user when a temporary table is open.
|
||||
REVOKE ALL PRIVILEGES ON f1 FROM test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# REVOKE ALL PRIVILEGES on procedure to user when a temporary table is open.
|
||||
REVOKE ALL PRIVILEGES ON p1 FROM test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# REVOKE ALL PRIVILEGES on table to user when a temporary table is open.
|
||||
REVOKE ALL PRIVILEGES ON t2 FROM test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# REVOKE usage on *.* from user when a temporary table is open.
|
||||
REVOKE USAGE ON *.* FROM test_2@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# RENAME USER when a temporary table is open.
|
||||
RENAME USER test_2@localhost TO test_3@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# DROP USER when a temporary table is open.
|
||||
DROP USER test_3@localhost;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
DROP TEMPORARY TABLE t3;
|
||||
END |
|
||||
DELIMITER ;|
|
||||
|
||||
# DROP PROCEDURE when a temporary table is open.
|
||||
DROP PROCEDURE p1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
DROP PROCEDURE p2;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# DROP FUNCTION when a temporary table is open.
|
||||
DROP FUNCTION f1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
# DROP TABLE when a temporary table is open.
|
||||
DROP TABLE t2;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
DROP TEMPORARY TABLE t1;
|
||||
|
Reference in New Issue
Block a user