diff options
Diffstat (limited to 'mysql-test/main')
4 files changed, 245 insertions, 0 deletions
diff --git a/mysql-test/main/invisible_field_grant_completely.result b/mysql-test/main/invisible_field_grant_completely.result new file mode 100644 index 00000000000..208a9f24ddf --- /dev/null +++ b/mysql-test/main/invisible_field_grant_completely.result @@ -0,0 +1,68 @@ +set @old_debug= @@debug_dbug; +create user user_1; +show grants for user_1; +Grants for user_1@% +GRANT USAGE ON *.* TO 'user_1'@'%' +# create user +create database d; +use d; + +#Completely Invisible +set debug_dbug= "+d,test_completely_invisible"; +create table t1(a int); +insert into t1 values(1); +select a,invisible from t1; +a invisible +1 9 +set debug_dbug=@old_debug; +grant insert(a) on t1 to user_1; +grant update(a) on t1 to user_1; +grant select(a) on t1 to user_1; +grant delete on t1 to user_1; +connect con1, localhost, user_1,,test; +connection con1; +select user(); +user() +user_1@localhost +use d; +select * from t1; +a +1 +insert into t1 values(2); +select * from t1; +a +1 +2 +insert into t1(a) values(3); +select * from t1; +a +1 +2 +3 +select invisible,a from t1; +ERROR 42S22: Unknown column 'invisible' in 'field list' +delete from t1 where a =1; +update t1 set a=1 where a=3; +select * from t1; +a +2 +1 +connection default; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1; +connection con1; +select * from t1; +ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't1' +select invisible from t1; +ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't1' +disconnect con1; + +#Final Cleanup +connection default; +set debug_dbug= "+d,test_completely_invisible"; +select a,invisible from t1; +a invisible +2 9 +1 9 +drop user user_1; +drop database d; +set @old_debug= @@debug_dbug; diff --git a/mysql-test/main/invisible_field_grant_completely.test b/mysql-test/main/invisible_field_grant_completely.test new file mode 100644 index 00000000000..aeca66b97d2 --- /dev/null +++ b/mysql-test/main/invisible_field_grant_completely.test @@ -0,0 +1,57 @@ +# Grant tests not performed with embedded server +-- source include/not_embedded.inc + +--source include/have_debug.inc +##TEST for invisible coloumn level 3 +set @old_debug= @@debug_dbug; +create user user_1; +show grants for user_1; +--echo # create user +create database d; +use d; + +--echo +--echo #Completely Invisible +set debug_dbug= "+d,test_completely_invisible"; +create table t1(a int); +insert into t1 values(1); +select a,invisible from t1; +set debug_dbug=@old_debug; +grant insert(a) on t1 to user_1; +grant update(a) on t1 to user_1; +grant select(a) on t1 to user_1; +grant delete on t1 to user_1; +connect (con1, localhost, user_1,,test); +connection con1; +select user(); +use d; +select * from t1; +insert into t1 values(2); +select * from t1; +insert into t1(a) values(3); +select * from t1; +--error ER_BAD_FIELD_ERROR +select invisible,a from t1; +delete from t1 where a =1; +update t1 set a=1 where a=3; +select * from t1; + +connection default; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1; + +connection con1; +--error ER_TABLEACCESS_DENIED_ERROR +select * from t1; +--error ER_TABLEACCESS_DENIED_ERROR +select invisible from t1; + +disconnect con1; +--source include/wait_until_disconnected.inc +--echo +--echo #Final Cleanup +connection default; +set debug_dbug= "+d,test_completely_invisible"; +select a,invisible from t1; +drop user user_1; +drop database d; +set @old_debug= @@debug_dbug; diff --git a/mysql-test/main/invisible_field_grant_system.result b/mysql-test/main/invisible_field_grant_system.result new file mode 100644 index 00000000000..77acfdae744 --- /dev/null +++ b/mysql-test/main/invisible_field_grant_system.result @@ -0,0 +1,68 @@ +create user user_1; +show grants for user_1; +Grants for user_1@% +GRANT USAGE ON *.* TO 'user_1'@'%' +# create user +create database d; +use d; + +#System_Invisible +create table t1(a int) with system versioning; +insert into t1 values(1); +select a from t1; +a +1 +select count(row_start) from t1; +count(row_start) +1 +grant insert(a) on t1 to user_1; +grant update(a) on t1 to user_1; +grant select(a) on t1 to user_1; +grant delete on t1 to user_1; +connect con1, localhost, user_1,,test; +connection con1; +select user(); +user() +user_1@localhost +use d; +select * from t1; +a +1 +insert into t1 values(2); +select * from t1; +a +1 +2 +insert into t1(a) values(3); +select * from t1; +a +1 +2 +3 +select a from t1; +a +1 +2 +3 +select count(row_start) from t1; +count(row_start) +3 +delete from t1 where a =1; +update t1 set a=1 where a=3; +select * from t1; +a +2 +1 +connection default; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1; +connection con1; +select * from t1; +ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't1' +select count(row_start) from t1; +ERROR 42000: SELECT command denied to user 'user_1'@'localhost' for table 't1' +disconnect con1; + +#Cleanup +connection default; +drop user user_1; +drop database d; diff --git a/mysql-test/main/invisible_field_grant_system.test b/mysql-test/main/invisible_field_grant_system.test new file mode 100644 index 00000000000..fd54ea72a5a --- /dev/null +++ b/mysql-test/main/invisible_field_grant_system.test @@ -0,0 +1,52 @@ +# Grant tests not performed with embedded server +-- source include/not_embedded.inc + +##TEST for invisible coloumn level 2 +create user user_1; +show grants for user_1; +--echo # create user +create database d; +use d; + +--echo +--echo #System_Invisible +create table t1(a int) with system versioning; +insert into t1 values(1); +select a from t1; +select count(row_start) from t1; +grant insert(a) on t1 to user_1; +grant update(a) on t1 to user_1; +grant select(a) on t1 to user_1; +grant delete on t1 to user_1; +connect (con1, localhost, user_1,,test); +connection con1; +select user(); +use d; +select * from t1; +insert into t1 values(2); +select * from t1; +insert into t1(a) values(3); +select * from t1; +select a from t1; +select count(row_start) from t1; +delete from t1 where a =1; +update t1 set a=1 where a=3; +select * from t1; +connection default; +REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1; + +connection con1; +--error ER_TABLEACCESS_DENIED_ERROR +select * from t1; +--error ER_TABLEACCESS_DENIED_ERROR +select count(row_start) from t1; + +disconnect con1; +--source include/wait_until_disconnected.inc + +--echo +--echo #Cleanup +--source include/wait_until_disconnected.inc +connection default; +drop user user_1; +drop database d; |