mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
cf539a5ac0
w/o definer if --skip-grant-tables specified. The previous patch does not allow to specify empty host name in DEFINER-clause explicitly. mysql-test/r/skip_grants.result: Updated the result file. mysql-test/r/view_grant.result: Updated the result file. mysql-test/t/skip_grants.test: Added test cases for BUG#16777; re-organized tests. mysql-test/t/view_grant.test: Updated after final fix of BUG#16777. sql/sql_parse.cc: The final part of fixing BUG#16777: allow empty host name in explicitly specified DEFINER-clause. sql/sql_show.cc: Quote an identifier if it is empty.
60 lines
1.5 KiB
Text
60 lines
1.5 KiB
Text
use test;
|
|
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;
|
|
CREATE TABLE t1(c INT);
|
|
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;
|
|
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;
|
|
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;
|
|
SHOW CREATE VIEW v3;
|
|
View Create View
|
|
v3 CREATE ALGORITHM=UNDEFINED DEFINER=`a`@`` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`c` AS `c` from `t1`
|
|
SHOW CREATE PROCEDURE p3;
|
|
Procedure sql_mode Create Procedure
|
|
p3 CREATE DEFINER=`a`@`` PROCEDURE `p3`()
|
|
SELECT 3
|
|
SHOW CREATE FUNCTION f3;
|
|
Function sql_mode Create Function
|
|
f3 CREATE DEFINER=`a`@`` FUNCTION `f3`() RETURNS int(11)
|
|
RETURN 3
|
|
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;
|