Changeset: bd269215089e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd269215089e Added Files: sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.SQL.py sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.err sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.out Modified Files: sql/test/Users/Tests/All sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.err sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.out sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.err sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.out sql/test/Users/Tests/grantMonetdb.SQL.py sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.SQL.py sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.stable.err sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.stable.out Branch: mosaic Log Message:
merge default diffs (truncated from 518 to 300 lines): diff --git a/sql/test/Users/Tests/All b/sql/test/Users/Tests/All --- a/sql/test/Users/Tests/All +++ b/sql/test/Users/Tests/All @@ -1,3 +1,4 @@ +dropManyUsers.Bug-3764 schema role1 role2 @@ -20,6 +21,6 @@ grantAndRevokeUserLogedIN.Bug-3476 grantRevokeAndGrantAgain.Bug-3765 grantMonetdbToRegularUser.Bug-3771 grantMonetdbToSchemaOwner.Bug-3771 +grantPrivilegesNonDefaultRole.Bug-3365 grantRole.Bug-3772 grantMonetdb -dropManyUsers.Bug-3764 diff --git a/sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.err b/sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.err --- a/sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.err +++ b/sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.err @@ -1,4 +1,4 @@ -stderr of test 'dropManyUsers` in directory 'sql/test/Users` itself: +stderr of test 'dropManyUsers.Bug-3764` in directory 'sql/test/Users` itself: # 14:28:36 > @@ -28,14 +28,7 @@ stderr of test 'dropManyUsers` in direct +# 14:49:14 > +# 14:49:14 > "Done." +# 14:49:14 > - -MAPI = (monetdb) /var/tmp/mtest-23837/.s.monetdb.35821 -ACTION= mapi_query_done -QUERY = DROP USER user4; - - -# 14:34:37 > -# 14:34:37 > "Done." -# 14:34:37 > - diff --git a/sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.out b/sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.out --- a/sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.out +++ b/sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.out @@ -1,4 +1,4 @@ -stdout of test 'dropManyUsers` in directory 'sql/test/Users` itself: +stdout of test 'dropManyUsers.Bug-3764` in directory 'sql/test/Users` itself: # 14:28:36 > @@ -75,10 +75,10 @@ Ready. % varchar, varchar, int # type % 7, 13, 4 # length [ "monetdb", "MonetDB Admin", 2000 ] -[ "user1", "1st user", 6992 ] -[ "user2", "2nd user", 6992 ] -[ "user3", "3rd user", 6992 ] -[ "user4", "4th user", 6992 ] +[ "user1", "1st user", 6995 ] +[ "user2", "2nd user", 6995 ] +[ "user3", "3rd user", 6995 ] +[ "user4", "4th user", 6995 ] #DROP USER user1; #DROP USER user2; #DROP USER user3; diff --git a/sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.err b/sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.err --- a/sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.err +++ b/sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.err @@ -1,4 +1,4 @@ -stderr of test 'grantAndRevokeUserLogedIN` in directory 'sql/test/Users` itself: +stderr of test 'grantAndRevokeUserLogedIN.Bug-3476` in directory 'sql/test/Users` itself: # 10:42:58 > @@ -31,17 +31,17 @@ stderr of test 'grantAndRevokeUserLogedI # 10:42:59 > Traceback (most recent call last): - File "grantAndRevokeUserLogedIN.SQL.py", line 39, in <module> + File "grantAndRevokeUserLogedIN.Bug-3476.SQL.py", line 54, in <module> run(c2, 'UPDATE test SET x = -66 WHERE y = 66') - File "grantAndRevokeUserLogedIN.SQL.py", line 26, in run + File "grantAndRevokeUserLogedIN.Bug-3476.SQL.py", line 26, in run r = conn.execute(sql) - File "/home/vera/Desktop/MonetDB/installation/lib/python2.7/site-packages/monetdb/sql/connections.py", line 127, in execute + File "/home/vera/Desktop/MonetDB/BUILD/lib/python2.7/site-packages/monetdb/sql/connections.py", line 127, in execute return self.command('s' + query + '\n;') - File "/home/vera/Desktop/MonetDB/installation/lib/python2.7/site-packages/monetdb/sql/connections.py", line 132, in command + File "/home/vera/Desktop/MonetDB/BUILD/lib/python2.7/site-packages/monetdb/sql/connections.py", line 132, in command return self.mapi.cmd(command) - File "/home/vera/Desktop/MonetDB/installation/lib/python2.7/site-packages/monetdb/mapi.py", line 178, in cmd + File "/home/vera/Desktop/MonetDB/BUILD/lib/python2.7/site-packages/monetdb/mapi.py", line 178, in cmd raise OperationalError(response[1:]) -monetdb.exceptions.OperationalError: UPDATE: insufficient privileges for user 'new_user' to update table 'test' on column 'x' +monetdb.exceptions.OperationalError: UPDATE: insufficient privileges for user 'new_user' to update table 'test' # 10:42:59 > diff --git a/sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.out b/sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.out --- a/sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.out +++ b/sql/test/Users/Tests/grantAndRevokeUserLogedIN.Bug-3476.stable.out @@ -1,4 +1,4 @@ -stdout of test 'grantAndRevokeUserLogedIN` in directory 'sql/test/Users` itself: +stdout of test 'grantAndRevokeUserLogedIN.Bug-3476` in directory 'sql/test/Users` itself: # 10:44:33 > diff --git a/sql/test/Users/Tests/grantMonetdb.SQL.py b/sql/test/Users/Tests/grantMonetdb.SQL.py --- a/sql/test/Users/Tests/grantMonetdb.SQL.py +++ b/sql/test/Users/Tests/grantMonetdb.SQL.py @@ -1,6 +1,6 @@ ### -# Assess that the admin can change the password of a user. -# Assess that a user can change its own password. +# Grant monetdb rights to a user. +# Verify that the user can assume the monetdb role and CREATE new users, GRANT privileges and roles. ### from util import sql_test_client diff --git a/sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.SQL.py b/sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.SQL.py @@ -0,0 +1,23 @@ +### +# Let a user inherit the rights of monetdb. +# Check that by assuming the monetdb role the user has complete privileges (e.g. select, create, drop). +### + + +from util import sql_test_client + +sql_test_client('monetdb', 'monetdb', input = """\ +create role hr_role; +create schema hr authorization hr_role; +create user blake with password 'password' name 'Blake' schema "hr"; +create user clark with password 'password' name 'Clark' schema "hr"; +grant hr_role to blake; +""") + +sql_test_client('blake', 'password', input = """\ +set role hr_role; +create table employees (id bigint,name varchar(20)); +grant select on employees to clark; +grant select on employees to clark from current_role; +""") + diff --git a/sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.err b/sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.err @@ -0,0 +1,37 @@ +stderr of test 'grantPrivilegesNonDefaultRole.Bug-3365` in directory 'sql/test/Users` itself: + + +# 17:10:01 > +# 17:10:01 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=32045" "--set" "mapi_usock=/var/tmp/mtest-24011/.s.monetdb.32045" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/home/vera/Desktop/MonetDB/BUILD/var/MonetDB/mTests_sql_test_Users" "--set" "mal_listing=0" "--set" "embedded_r=yes" +# 17:10:01 > + +# builtin opt gdk_dbpath = /home/vera/Desktop/MonetDB/BUILD/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 50000 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 32045 +# cmdline opt mapi_usock = /var/tmp/mtest-24011/.s.monetdb.32045 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /home/vera/Desktop/MonetDB/BUILD/var/MonetDB/mTests_sql_test_Users +# cmdline opt mal_listing = 0 +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 17:10:02 > +# 17:10:02 > "/usr/bin/python2" "grantPrivilegesNonDefaultRole.Bug-3365.SQL.py" "grantPrivilegesNonDefaultRole.Bug-3365" +# 17:10:02 > + + +# 17:10:02 > +# 17:10:02 > "Done." +# 17:10:02 > + diff --git a/sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.out b/sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.out @@ -0,0 +1,44 @@ +stdout of test 'grantPrivilegesNonDefaultRole.Bug-3365` in directory 'sql/test/Users` itself: + + +# 17:10:01 > +# 17:10:01 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=32045" "--set" "mapi_usock=/var/tmp/mtest-24011/.s.monetdb.32045" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/home/vera/Desktop/MonetDB/BUILD/var/MonetDB/mTests_sql_test_Users" "--set" "mal_listing=0" "--set" "embedded_r=yes" +# 17:10:01 > + +# MonetDB 5 server v11.22.0 +# This is an unreleased version +# Serving database 'mTests_sql_test_Users', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit integers dynamically linked +# Found 3.746 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://buzu:32045/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-24011/.s.monetdb.32045 +# Start processing logs sql/sql_logs version 52200 +# Start reading the write-ahead log 'sql_logs/sql/log.19' +# Finished reading the write-ahead log 'sql_logs/sql/log.19' +# Finished processing logs sql/sql_logs +# MonetDB/SQL module loaded +# MonetDB/R module loaded + +Ready. + +# 17:10:02 > +# 17:10:02 > "/usr/bin/python2" "grantPrivilegesNonDefaultRole.Bug-3365.SQL.py" "grantPrivilegesNonDefaultRole.Bug-3365" +# 17:10:02 > + +#create role hr_role; +#create schema hr authorization hr_role; +#create user blake with password 'password' name 'Blake' schema "hr"; +#create user clark with password 'password' name 'Clark' schema "hr"; +#grant hr_role to blake; +#set role hr_role; +#create table employees (id bigint,name varchar(20)); +#grant select on employees to clark; +#grant select on employees to clark from current_role; + +# 17:10:02 > +# 17:10:02 > "Done." +# 17:10:02 > + diff --git a/sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.SQL.py b/sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.SQL.py --- a/sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.SQL.py +++ b/sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.SQL.py @@ -30,13 +30,12 @@ GRANT SELECT on table schemaTest.testTab """) sql_test_client('user_delete', 'delete', input = """\ --- Check delete. -DELETE FROM testTable where v1 = 2; +DELETE FROM testTable where v1 = 2; -- should work -- Check all the other privileges (they should fail). -SELECT * FROM testTable; -UPDATE testTable set v1 = 2 where v2 = 7; -INSERT into testTable values (3, 3); +SELECT * FROM testTable; -- not enough privileges +UPDATE testTable set v1 = 2 where v2 = 7; -- not enough privileges +INSERT into testTable values (3, 3); -- not enough privileges """) sql_test_client('user_update', 'update', input = """\ @@ -44,9 +43,9 @@ sql_test_client('user_update', 'update', UPDATE testTable set v1 = 2 where v2 = 7; -- Check all the other privileges (they should fail). -SELECT * FROM testTable; -INSERT into testTable values (3, 3); -DELETE FROM testTable where v1 = 2; +SELECT * FROM testTable; -- not enough privileges +INSERT into testTable values (3, 3); -- not enough privileges +DELETE FROM testTable where v1 = 2; -- not enough privileges """) sql_test_client('user_insert', 'insert', input = """\ @@ -54,9 +53,9 @@ sql_test_client('user_insert', 'insert', INSERT into testTable values (3, 3); -- Check all the other privileges (they should fail). -SELECT * FROM testTable; -UPDATE testTable set v1 = 2 where v2 = 7; -DELETE FROM testTable where v1 = 2; +SELECT * FROM testTable; -- not enough privileges +UPDATE testTable set v1 = 2 where v2 = 7; -- not enough privileges +DELETE FROM testTable where v1 = 2; -- not enough privileges """) sql_test_client('user_select', 'select', input = """\ @@ -64,9 +63,9 @@ sql_test_client('user_select', 'select', SELECT * FROM testTable; -- Check all the other privileges (they should fail). -INSERT into testTable values (3, 3); -UPDATE testTable set v1 = 2 where v2 = 7; -DELETE FROM testTable where v1 = 2; +INSERT into testTable values (3, 3); -- not enough privileges +UPDATE testTable set v1 = 2 where v2 = 7; -- not enough privileges +DELETE FROM testTable where v1 = 2; -- not enough privileges """) sql_test_client('monetdb', 'monetdb', input = """\ _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list