mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 21:42:35 +01:00
218179269f
- Crash occured because Event engine is only initialized if ACLs are used but not properly marked as disabled. - The patch is to mark the Event engine as DISABLED if no ACLs are used to avoid access of uninitialized variables.
117 lines
2.2 KiB
Text
117 lines
2.2 KiB
Text
# 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;
|
|
|