homework-jianmu/tests/script/tsim/view/privilege_basic_view.sim

171 lines
3.6 KiB
Plaintext

sql connect
sql use testa;
sql create user u1 pass "taosdata"
sql create user u2 pass "taosdata"
sql create user u3 pass "taosdata"
print == root create views ==
sql create view view1 as select * from sta1;
sql create view view2 as select * from view1;
sql create view view3 as select * from view2;
sql_error grant all on view1 to root;
sql_error revoke all on view1 from root;
sql_error grant read on view1 to u1;
sql grant read on testa.view1 to u1;
sql select * from information_schema.ins_user_privileges order by user_name, privilege;
if $rows != 2 then
return -1
endi
if $data10 != u1 then
return -1
endi
if $data11 != read then
return -1
endi
sql connect u1
sql use testa
sql_error select * from sta1;
sql select * from view1;
sql_error select * from view2;
sql_error select * from testb.view1;
sql_error insert into view1 values (now, 1);
sql_error create or replace view1 as select * from st2;
sql_error create viewa as select * from sta1;
sql_error drop view view1;
sql show views;
sql show create view view1;
sql desc view1;
sql select * from information_schema.ins_views;
if $rows != 3 then
return -1
endi
sql_error grant read on testa.view1 to u2;
sql_error revoke read on testa.view1 from u1;
sql connect root
sql use testa
sql drop view testa.view1;
sql select * from information_schema.ins_user_privileges order by user_name, privilege;
if $rows != 1 then
return -1
endi
if $data00 != root then
return -1
endi
sql grant all on testa.* to u1;
sql reset query cache
print == u1 create view1 ==
sql connect u1
sql use testa
sql select * from sta1;
sql_error insert into view1 values (now, 1);
sql create view view1 as select * from sta1;
sql connect root
sql grant read on testa.view1 to u2;
sql_error insert into view1 values (now, 1);
sql connect u2
sql use testa
sql_error select * from sta1;
sql_error insert into view1 values (now, 1);
sql select * from view1;
sql connect root
sql revoke all on testa.* from u1
sql reset query cache
sql connect u1
sql use testa
sql_error select * from sta1;
sql_error select * from view1;
sql connect u2
sql use testa
sql_error select * from view1;
sql connect root
sql grant all on testa.* to u2
sql reset query cache
sql connect u2
sql use testa
sql select * from view1;
sql_error create or replace view1 as select * from st2;
sql connect u1
sql use testa
sql_error create or replace view1 as select * from st2;
sql connect root
sql grant all on testa.* to u1
sql reset query cache
sql connect u1
sql use testa
sql create or replace view view1 as select * from st2;
sql connect root
sql grant alter on testa.view1 to u2
sql revoke all on testa.* from u1
sql reset query cache
print == u2 replace view1 ==
sql connect u2
sql use testa
sql select * from view1;
sql create or replace view view1 as select * from sta1;
sql_error insert into view1 values (now, 1);
sql select * from information_schema.ins_views where view_name = 'view1';
if $rows != 1 then
return -1
endi
if $data01 != testa then
return -1
endi
if $data02 != u2 then
return -1
endi
sql connect root
sql grant all on testa.view1 to u3;
sql connect u3
sql use testa
sql_error select * from sta1
sql_error insert into view1 values (now, 1);
sql select * from view1
sql connect root
sql revoke all on testa.* from u2
sql reset query cache
sql connect u3
sql use testa
sql_error select * from view1
sql_error insert into view1 values (now, 1);
sql connect root
sql grant all on testa.* to u3
sql drop user u1;
sql drop user u2;
sql reset query cache
sql connect u3
sql use testa
sql select * from view1
sql_error insert into view1 values (now, 1);
sql connect root
sql drop user u3;
sql drop view testa.view1;
sql drop view testa.view2;
sql drop view testa.view3;