Commit 0db320e3 authored by Alexander Barkov's avatar Alexander Barkov

Adding privilege tests for ALTER.

modified:
  mysql-test/suite/connect/r/bin.result
  mysql-test/suite/connect/t/grant.inc
parent e60a3612
...@@ -24,6 +24,10 @@ INSERT INTO t1 VALUES(10); ...@@ -24,6 +24,10 @@ INSERT INTO t1 VALUES(10);
TRUNCATE TABLE t1; TRUNCATE TABLE t1;
SELECT * FROM t1; SELECT * FROM t1;
a a
CREATE VIEW v1 AS SELECT * FROM t1;
SELECT * FROM v1;
a
DROP VIEW v1;
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=BIN FILE_NAME='t1.EXT'; CREATE TABLE t1 (a INT NOT NULL) ENGINE=CONNECT TABLE_TYPE=BIN FILE_NAME='t1.EXT';
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO) ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
...@@ -49,6 +53,25 @@ ALTER TABLE t1 READONLY=1; ...@@ -49,6 +53,25 @@ ALTER TABLE t1 READONLY=1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO) ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
DROP TABLE t1; DROP TABLE t1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO) ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
# Testing a VIEW created with FILE privileges but accessed with no FILE
SELECT user();
user()
root@localhost
CREATE VIEW v1 AS SELECT * FROM t1;
SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
INSERT INTO v1 VALUES (2);
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
UPDATE v1 SET a=123;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
DELETE FROM v1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
DROP VIEW v1;
DROP TABLE t1; DROP TABLE t1;
DROP USER user@localhost; DROP USER user@localhost;
# #
......
...@@ -16,7 +16,10 @@ SELECT * FROM t1; ...@@ -16,7 +16,10 @@ SELECT * FROM t1;
INSERT INTO t1 VALUES(10); INSERT INTO t1 VALUES(10);
TRUNCATE TABLE t1; TRUNCATE TABLE t1;
SELECT * FROM t1; SELECT * FROM t1;
# TODO: VIEW, LOCK, UNLOCK, REFERENCES, INDEX # TODO: LOCK, UNLOCK, REFERENCES, INDEX
CREATE VIEW v1 AS SELECT * FROM t1;
SELECT * FROM v1;
DROP VIEW v1;
DROP TABLE t1; DROP TABLE t1;
# Making sure DROP erased the data file # Making sure DROP erased the data file
--error 1 --error 1
...@@ -43,8 +46,25 @@ TRUNCATE TABLE t1; ...@@ -43,8 +46,25 @@ TRUNCATE TABLE t1;
ALTER TABLE t1 READONLY=1; ALTER TABLE t1 READONLY=1;
--error ER_ACCESS_DENIED_ERROR --error ER_ACCESS_DENIED_ERROR
DROP TABLE t1; 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 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;
--disconnect user --disconnect user
--connection default --connection default
DROP VIEW v1;
DROP TABLE t1; DROP TABLE t1;
--remove_file $MYSQLD_DATADIR/test/t1.EXT --remove_file $MYSQLD_DATADIR/test/t1.EXT
DROP USER user@localhost; DROP USER user@localhost;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment