Changeset: 0ddb97ed7774 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/0ddb97ed7774
Modified Files:
        sql/test/mergetables/Tests/mergetable-perms-base.test
        sql/test/mergetables/Tests/mergetable-select-perms.test
Branch: default
Log Message:

Adds tests for mergetable perms over cols


diffs (111 lines):

diff --git a/sql/test/mergetables/Tests/mergetable-perms-base.test 
b/sql/test/mergetables/Tests/mergetable-perms-base.test
--- a/sql/test/mergetables/Tests/mergetable-perms-base.test
+++ b/sql/test/mergetables/Tests/mergetable-perms-base.test
@@ -10,6 +10,8 @@ create table part2 (n int, m text)
 statement ok
 insert into part2 values (2, 'bob')
 
+-- allparts for perms on table
+
 statement ok
 create merge table allparts (n int, m text)
 
@@ -18,3 +20,14 @@ alter table allparts add table part1
 
 statement ok
 alter table allparts add table part2
+
+-- allparts_2 for perms on columns
+
+statement ok
+create merge table allparts_2 (n int, m text)
+
+statement ok
+alter table allparts_2 add table part1
+
+statement ok
+alter table allparts_2 add table part2
diff --git a/sql/test/mergetables/Tests/mergetable-select-perms.test 
b/sql/test/mergetables/Tests/mergetable-select-perms.test
--- a/sql/test/mergetables/Tests/mergetable-select-perms.test
+++ b/sql/test/mergetables/Tests/mergetable-select-perms.test
@@ -1,4 +1,4 @@
--- select through individual user perms
+-- select * through individual user perms
 
 statement ok
 create user kate with password '123kate' name 'Kate' schema sys
@@ -19,7 +19,34 @@ alice
 2
 bob
 
--- select through role
+-- select (cols) through individual user perms
+
+@connection(id=tc, username=kate, password=123kate)
+statement error 42000!SELECT: access denied for kate to table 'sys.allparts_2'
+select n from allparts_2
+
+statement ok
+grant select (n) on allparts_2 to kate
+
+@connection(id=tc, username=kate, password=123kate)
+query I rowsort
+select * from allparts_2
+----
+1
+2
+
+@connection(id=tc, username=kate, password=123kate)
+query I rowsort
+select n from allparts_2
+----
+1
+2
+
+@connection(id=tc, username=kate, password=123kate)
+statement error SELECT: identifier 'm' unknown
+select m from allparts_2
+
+-- select * through role
 
 statement ok
 create role reader
@@ -33,7 +60,7 @@ create user tom with password '123tom' n
 statement ok
 alter user tom default role reader
 
-@connection(id=tc, username=tom, password=123tom)
+@connection(id=tc2, username=tom, password=123tom)
 query IT rowsort
 select * from allparts
 ----
@@ -41,3 +68,29 @@ 1
 alice
 2
 bob
+
+-- select (cols) through role
+
+statement ok
+grant select (n) on allparts_2 to reader
+
+statement ok
+alter user tom default role reader
+
+@connection(id=tc2, username=tom, password=123tom)
+query I rowsort
+select * from allparts_2
+----
+1
+2
+
+@connection(id=tc2, username=tom, password=123tom)
+query I rowsort
+select n from allparts_2
+----
+1
+2
+
+@connection(id=tc2, username=tom, password=123tom)
+statement error SELECT: identifier 'm' unknown
+select m from allparts_2
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to