summaryrefslogtreecommitdiff
path: root/mysql-test/r/skip_grants.result
diff options
context:
space:
mode:
authoranozdrin@mysql.com <>2006-03-02 14:17:13 +0300
committeranozdrin@mysql.com <>2006-03-02 14:17:13 +0300
commit302239f388d0bf28ccbb3a234463f7fdd25da717 (patch)
tree05feea0e3819472c3488c35e75b3ff1f05c626fb /mysql-test/r/skip_grants.result
parente03e5222013a0bbfc17adb37f5201b9f0dbc5327 (diff)
downloadmariadb-git-302239f388d0bf28ccbb3a234463f7fdd25da717.tar.gz
Fix for BUG#16777: Can not create trigger nor view w/o definer
if --skip-grant-tables specified. The problem is that there is a check that prevents creating a definer with empty host name. In --skip-grant-tables mode this check prevents the user from creating a trigger/view without explicitly specifying its definer. This happens, because in --skip-grant-tables mode CURRENT_USER is ''@''. According to Sanja this check was implemented intentionally. However, according to the MySQL manual it is possible to specify empty host name (as well as empty user name). Moreover, the behaviour for stored routines is different in this aspect -- we allow them to be created with implicit definer. Based on this, we believe it is OK to change the behaviour for views to be similar with the behaviour for stored routines.
Diffstat (limited to 'mysql-test/r/skip_grants.result')
-rw-r--r--mysql-test/r/skip_grants.result21
1 files changed, 17 insertions, 4 deletions
diff --git a/mysql-test/r/skip_grants.result b/mysql-test/r/skip_grants.result
index 5dc770a7363..d8548d84886 100644
--- a/mysql-test/r/skip_grants.result
+++ b/mysql-test/r/skip_grants.result
@@ -2,13 +2,26 @@ drop table if exists t1,v1;
drop view if exists t1,v1;
drop procedure if exists f1;
use test;
-create table t1 (field1 INT);
-CREATE VIEW v1 AS SELECT field1 FROM t1;
-ERROR HY000: Definer is not fully qualified
-drop table t1;
create procedure f1() select 1;
drop procedure f1;
create table t1 (a int);
create definer='user'@'host' sql security definer view v1 as select * from t1;
drop view v1;
drop table t1;
+DROP VIEW IF EXISTS v1;
+DROP VIEW IF EXISTS v2;
+DROP TABLE IF EXISTS t1;
+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 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;
+DROP TRIGGER t1_bi;
+DROP TRIGGER ti_ai;
+DROP VIEW v1;
+DROP VIEW v2;
+DROP TABLE t1;