初版
This commit is contained in:
134
build/lib/mysql/mysql-test/t/skip_grants.test
Normal file
134
build/lib/mysql/mysql-test/t/skip_grants.test
Normal file
@@ -0,0 +1,134 @@
|
||||
# This tests not performed with embedded server
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
use test;
|
||||
|
||||
#
|
||||
# BUG#16777: Can not create trigger nor view w/o definer if --skip-grant-tables
|
||||
# specified
|
||||
#
|
||||
# Also, the following test cases have been moved here:
|
||||
# - test that we can create VIEW if privileges check switched off has been
|
||||
# moved here;
|
||||
# - test that we can create and drop procedure without warnings (BUG#9993);
|
||||
# - BUG#17595: "DROP FUNCTION IF EXISTS" crashes server;
|
||||
# - BUG#13504: creation view with DEFINER clause if --skip-grant-tables
|
||||
#
|
||||
|
||||
# Prepare.
|
||||
|
||||
--disable_warnings
|
||||
|
||||
DROP VIEW IF EXISTS v1;
|
||||
DROP VIEW IF EXISTS v2;
|
||||
DROP VIEW IF EXISTS v3;
|
||||
|
||||
DROP TABLE IF EXISTS t1;
|
||||
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
DROP PROCEDURE IF EXISTS p2;
|
||||
DROP PROCEDURE IF EXISTS p3;
|
||||
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
DROP FUNCTION IF EXISTS f2;
|
||||
DROP FUNCTION IF EXISTS f3;
|
||||
|
||||
--enable_warnings
|
||||
|
||||
# Test case.
|
||||
|
||||
CREATE TABLE t1(c INT);
|
||||
|
||||
# - try to create with implicit definer (definer would be ''@'');
|
||||
|
||||
CREATE TRIGGER t1_bi BEFORE INSERT ON t1
|
||||
FOR EACH ROW
|
||||
SET @a = 1;
|
||||
|
||||
CREATE VIEW v1 AS SELECT * FROM t1;
|
||||
|
||||
CREATE PROCEDURE p1()
|
||||
SELECT 1;
|
||||
|
||||
CREATE FUNCTION f1() RETURNS INT
|
||||
RETURN 1;
|
||||
|
||||
# - try to create with explicit definer;
|
||||
|
||||
CREATE DEFINER=a@b TRIGGER ti_ai AFTER INSERT ON t1
|
||||
FOR EACH ROW
|
||||
SET @b = 1;
|
||||
|
||||
CREATE DEFINER=a@b VIEW v2 AS SELECT * FROM t1;
|
||||
|
||||
CREATE DEFINER=a@b PROCEDURE p2()
|
||||
SELECT 2;
|
||||
|
||||
CREATE DEFINER=a@b FUNCTION f2() RETURNS INT
|
||||
RETURN 2;
|
||||
|
||||
# - try to create with explicit definer with empty host;
|
||||
|
||||
CREATE DEFINER=a@'' TRIGGER ti_bu BEFORE UPDATE ON t1
|
||||
FOR EACH ROW
|
||||
SET @c = 1;
|
||||
|
||||
CREATE DEFINER=a@'' VIEW v3 AS SELECT * FROM t1;
|
||||
|
||||
CREATE DEFINER=a@'' PROCEDURE p3()
|
||||
SELECT 3;
|
||||
|
||||
CREATE DEFINER=a@'' FUNCTION f3() RETURNS INT
|
||||
RETURN 3;
|
||||
|
||||
# - check that empty host name is treated correctly;
|
||||
|
||||
SHOW CREATE VIEW v3;
|
||||
|
||||
SHOW CREATE PROCEDURE p3;
|
||||
|
||||
SHOW CREATE FUNCTION f3;
|
||||
|
||||
# Cleanup.
|
||||
|
||||
DROP TRIGGER t1_bi;
|
||||
DROP TRIGGER ti_ai;
|
||||
DROP TRIGGER ti_bu;
|
||||
|
||||
DROP VIEW v1;
|
||||
DROP VIEW v2;
|
||||
DROP VIEW v3;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
DROP PROCEDURE p1;
|
||||
DROP PROCEDURE p2;
|
||||
DROP PROCEDURE p3;
|
||||
|
||||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
DROP FUNCTION f3;
|
||||
|
||||
#
|
||||
# Bug #26807 "set global event_scheduler=1" and --skip-grant-tables crashes server
|
||||
#
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
set global event_scheduler=1;
|
||||
|
||||
#
|
||||
# Bug#26285 Selecting information_schema crahes server
|
||||
#
|
||||
select count(*) from information_schema.COLUMN_PRIVILEGES;
|
||||
select count(*) from information_schema.SCHEMA_PRIVILEGES;
|
||||
select count(*) from information_schema.TABLE_PRIVILEGES;
|
||||
select count(*) from information_schema.USER_PRIVILEGES;
|
||||
--echo End of 5.0 tests
|
||||
|
||||
--echo #
|
||||
--echo # Bug#29817 Queries with UDF fail with non-descriptive error
|
||||
--echo # if mysql.proc is missing
|
||||
--echo #
|
||||
--error ER_SP_DOES_NOT_EXIST
|
||||
select no_such_function(1);
|
||||
|
||||
--echo End of 5.1 tests
|
||||
Reference in New Issue
Block a user