Changeset: 944926d587cb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/944926d587cb
Modified Files:
        clients/mapiclient/dump.c
        sql/test/testdb/Tests/dump-nogeom.stable.out
        sql/test/testdb/Tests/dump.stable.out
        sql/test/testdb/Tests/load.test
Branch: default
Log Message:

Adapt test and dump to new reality.
The DEFAULT ROLE must be an actual ROLE, so not user 'monetdb'.  Also,
make sure dump does not create a superfluous GRANT for a role that is
already the default role.


diffs (56 lines):

diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -2667,13 +2667,17 @@ dump_database(Mapi mid, stream *toConsol
                  "AND grantor <> 0 "
                "ORDER BY name";
        const char *grants =
+               /* all grants granting roles to users excepting the default 
role */
                "SELECT a1.name, "
                       "a2.name "
                "FROM sys.auths a1, "
                     "sys.auths a2, "
-                    "sys.user_role ur "
+                    "sys.user_role ur, "
+                    "sys.db_user_info ui "
                "WHERE a1.id = ur.login_id "
                  "AND a2.id = ur.role_id "
+                 "AND a1.name = ui.name "
+                 "AND a2.id <> ui.default_role "
                "ORDER BY a1.name, a2.name";
        const char *table_grants =
                "SELECT s.name, t.name, "
diff --git a/sql/test/testdb/Tests/dump-nogeom.stable.out 
b/sql/test/testdb/Tests/dump-nogeom.stable.out
--- a/sql/test/testdb/Tests/dump-nogeom.stable.out
+++ b/sql/test/testdb/Tests/dump-nogeom.stable.out
@@ -1,6 +1,6 @@
 START TRANSACTION;
 SET SCHEMA "sys";
-CREATE USER "testuser" WITH ENCRYPTED PASSWORD 
'e9e633097ab9ceb3e48ec3f70ee2beba41d05d5420efee5da85f97d97005727587fda33ef4ff2322088f4c79e8133cc9cd9f3512f4d3a303cbdb5bc585415a00'
 NAME 'Test User' SCHEMA "sys" MAX_MEMORY 1000000000 MAX_WORKERS 5 OPTIMIZER 
'minimal_pipe' DEFAULT ROLE "monetdb";
+CREATE USER "testuser" WITH ENCRYPTED PASSWORD 
'e9e633097ab9ceb3e48ec3f70ee2beba41d05d5420efee5da85f97d97005727587fda33ef4ff2322088f4c79e8133cc9cd9f3512f4d3a303cbdb5bc585415a00'
 NAME 'Test User' SCHEMA "sys" MAX_MEMORY 1000000000 MAX_WORKERS 5 OPTIMIZER 
'minimal_pipe' DEFAULT ROLE "sysadmin";
 CREATE USER "testuser2" WITH ENCRYPTED PASSWORD 
'e9e633097ab9ceb3e48ec3f70ee2beba41d05d5420efee5da85f97d97005727587fda33ef4ff2322088f4c79e8133cc9cd9f3512f4d3a303cbdb5bc585415a00'
 NAME 'Second Test User' SCHEMA "sys";
 CREATE SCHEMA "testschema" AUTHORIZATION "testuser";
 COMMENT ON SCHEMA "testschema" IS 'a schema used for testing';
diff --git a/sql/test/testdb/Tests/dump.stable.out 
b/sql/test/testdb/Tests/dump.stable.out
--- a/sql/test/testdb/Tests/dump.stable.out
+++ b/sql/test/testdb/Tests/dump.stable.out
@@ -1,6 +1,6 @@
 START TRANSACTION;
 SET SCHEMA "sys";
-CREATE USER "testuser" WITH ENCRYPTED PASSWORD 
'e9e633097ab9ceb3e48ec3f70ee2beba41d05d5420efee5da85f97d97005727587fda33ef4ff2322088f4c79e8133cc9cd9f3512f4d3a303cbdb5bc585415a00'
 NAME 'Test User' SCHEMA "sys" MAX_MEMORY 1000000000 MAX_WORKERS 5 OPTIMIZER 
'minimal_pipe' DEFAULT ROLE "monetdb";
+CREATE USER "testuser" WITH ENCRYPTED PASSWORD 
'e9e633097ab9ceb3e48ec3f70ee2beba41d05d5420efee5da85f97d97005727587fda33ef4ff2322088f4c79e8133cc9cd9f3512f4d3a303cbdb5bc585415a00'
 NAME 'Test User' SCHEMA "sys" MAX_MEMORY 1000000000 MAX_WORKERS 5 OPTIMIZER 
'minimal_pipe' DEFAULT ROLE "sysadmin";
 CREATE USER "testuser2" WITH ENCRYPTED PASSWORD 
'e9e633097ab9ceb3e48ec3f70ee2beba41d05d5420efee5da85f97d97005727587fda33ef4ff2322088f4c79e8133cc9cd9f3512f4d3a303cbdb5bc585415a00'
 NAME 'Second Test User' SCHEMA "sys";
 CREATE SCHEMA "testschema" AUTHORIZATION "testuser";
 COMMENT ON SCHEMA "testschema" IS 'a schema used for testing';
diff --git a/sql/test/testdb/Tests/load.test b/sql/test/testdb/Tests/load.test
--- a/sql/test/testdb/Tests/load.test
+++ b/sql/test/testdb/Tests/load.test
@@ -2,7 +2,7 @@ statement ok
 START TRANSACTION
 
 statement ok
-CREATE USER "testuser" WITH ENCRYPTED PASSWORD 
'e9e633097ab9ceb3e48ec3f70ee2beba41d05d5420efee5da85f97d97005727587fda33ef4ff2322088f4c79e8133cc9cd9f3512f4d3a303cbdb5bc585415a00'
 NAME 'Test User' SCHEMA "sys" MAX_MEMORY 1000000000 MAX_WORKERS 5 OPTIMIZER 
'minimal_pipe' DEFAULT ROLE "monetdb"
+CREATE USER "testuser" WITH ENCRYPTED PASSWORD 
'e9e633097ab9ceb3e48ec3f70ee2beba41d05d5420efee5da85f97d97005727587fda33ef4ff2322088f4c79e8133cc9cd9f3512f4d3a303cbdb5bc585415a00'
 NAME 'Test User' SCHEMA "sys" MAX_MEMORY 1000000000 MAX_WORKERS 5 OPTIMIZER 
'minimal_pipe' DEFAULT ROLE "sysadmin"
 
 statement ok
 CREATE USER "testuser2" WITH ENCRYPTED PASSWORD 
'e9e633097ab9ceb3e48ec3f70ee2beba41d05d5420efee5da85f97d97005727587fda33ef4ff2322088f4c79e8133cc9cd9f3512f4d3a303cbdb5bc585415a00'
 NAME 'Second Test User'
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to