mariadb/mysql-test/main/invisible_field_grant_system.test
sachin 395c8ca708 MDEV-14853 Grant does not work correctly when table contains...
SYSTEM_INVISIBLE or COMPLETELY_INVISIBLE

This commit does multiple things to solve this mdev
1st add field into the parameter of check_column_grant_in_table_ref, so that
we can find out field invisibility.
2nd If field->invisible >= INVISIBLE_SYSTEM skip access check and simple
grant access.
2018-05-18 08:22:41 +05:30

52 lines
1.2 KiB
Text

# 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;