EVOLUTION-MANAGER
Edit File: grant.inc
--echo # --echo # Beginning of grant.inc --echo # CREATE USER user@localhost; GRANT ALL PRIVILEGES ON *.* TO user@localhost; REVOKE FILE ON *.* FROM user@localhost; --connect(user,localhost,user,,) --connection user SELECT user(); --eval CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT $TABLE_OPTIONS INSERT INTO t1 VALUES (10); SELECT * FROM t1; UPDATE t1 SET a=20; SELECT * FROM t1; DELETE FROM t1; SELECT * FROM t1; INSERT INTO t1 VALUES(10); TRUNCATE TABLE t1; SELECT * FROM t1; # TODO: LOCK, UNLOCK, REFERENCES, INDEX CREATE VIEW v1 AS SELECT * FROM t1; SELECT * FROM v1; DROP VIEW v1; DROP TABLE t1; # Making sure DROP erased the data file --error 1 --remove_file $MYSQLD_DATADIR/test/t1.$FILE_EXT --error ER_ACCESS_DENIED_ERROR --eval CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT $TABLE_OPTIONS FILE_NAME='t1.EXT' --connection default SELECT user(); --eval CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT $TABLE_OPTIONS FILE_NAME='t1.EXT' INSERT INTO t1 VALUES (10); --connection user SELECT user(); --error ER_ACCESS_DENIED_ERROR INSERT INTO t1 VALUES (10); --error ER_ACCESS_DENIED_ERROR SELECT * FROM t1; --error ER_ACCESS_DENIED_ERROR UPDATE t1 SET a=20; --error ER_ACCESS_DENIED_ERROR DELETE FROM t1; --error ER_ACCESS_DENIED_ERROR TRUNCATE TABLE t1; --error ER_ACCESS_DENIED_ERROR ALTER TABLE t1 READONLY=1; --error ER_ACCESS_DENIED_ERROR ALTER TABLE t1 FILE_NAME='t2.EXT'; --error ER_ACCESS_DENIED_ERROR DROP TABLE t1; --error ER_ACCESS_DENIED_ERROR CREATE VIEW v1 AS SELECT * FROM t1; --echo # Testing a VIEW created with FILE privileges but accessed with no FILE --connection default SELECT user(); CREATE SQL SECURITY INVOKER VIEW v1 AS SELECT * FROM t1; --connection user SELECT user(); --error ER_ACCESS_DENIED_ERROR SELECT * FROM v1; --error ER_ACCESS_DENIED_ERROR INSERT INTO v1 VALUES (2); --error ER_ACCESS_DENIED_ERROR UPDATE v1 SET a=123; --error ER_ACCESS_DENIED_ERROR DELETE FROM v1; --connection default SELECT user(); DROP VIEW v1; DROP TABLE t1; --remove_file $MYSQLD_DATADIR/test/t1.EXT --eval CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT $TABLE_OPTIONS INSERT INTO t1 VALUES (10); --connection user SELECT user(); --error ER_ACCESS_DENIED_ERROR ALTER TABLE t1 FILE_NAME='t1.EXT'; --connection default DROP TABLE t1; --disconnect user DROP USER user@localhost; --echo # --echo # End of grant.inc --echo #