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]