135 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			135 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | # 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 |