Changeset: acc986d5e60d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=acc986d5e60d
Modified Files:
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.int128
Branch: monetdbe-proxy
Log Message:
Approve check test.
diffs (truncated from 3094 to 300 lines):
diff --git a/sql/test/emptydb/Tests/check.stable.out
b/sql/test/emptydb/Tests/check.stable.out
--- a/sql/test/emptydb/Tests/check.stable.out
+++ b/sql/test/emptydb/Tests/check.stable.out
@@ -23,6 +23,7 @@
\dSt sys.db_user_info
\dSt sys.dependencies
\dSt sys.dependency_types
+\dSt sys.dump_statements
\dSt sys.function_languages
\dSt sys.function_types
\dSt sys.functions
@@ -85,7 +86,38 @@
\dSv sys.dependency_views_on_functions
\dSv sys.dependency_views_on_procedures
\dSv sys.dependency_views_on_views
+\dSv sys.describe_column_defaults
+\dSv sys.describe_comments
+\dSv sys.describe_constraints
+\dSv sys.describe_foreign_keys
+\dSv sys.describe_functions
+\dSv sys.describe_indices
+\dSv sys.describe_partition_tables
+\dSv sys.describe_privileges
+\dSv sys.describe_sequences
+\dSv sys.describe_tables
+\dSv sys.describe_triggers
+\dSv sys.describe_user_defined_types
+\dSv sys.dump_add_schemas_to_users
+\dSv sys.dump_column_defaults
+\dSv sys.dump_comments
+\dSv sys.dump_create_roles
+\dSv sys.dump_create_schemas
+\dSv sys.dump_create_users
+\dSv sys.dump_foreign_keys
+\dSv sys.dump_functions
+\dSv sys.dump_grant_user_priviledges
+\dSv sys.dump_indices
+\dSv sys.dump_partition_tables
+\dSv sys.dump_privileges
+\dSv sys.dump_sequences
+\dSv sys.dump_start_sequences
+\dSv sys.dump_table_constraint_type
+\dSv sys.dump_tables
+\dSv sys.dump_triggers
+\dSv sys.dump_user_defined_types
\dSv sys.environment
+\dSv sys.fully_qualified_functions
\dSv sys.geometry_columns
\dSv sys.ids
\dSv sys.optimizers
@@ -108,8 +140,10 @@
\dSv sys.tracelog
\dSv sys.users
\dSv sys.var_values
+\dSf sys."_dump_table_data"
\dSf sys."abbrev"
\dSf sys."alpha"
+\dSf sys."alter_table"
\dSf sys."analyze"
\dSf sys."bbp"
\dSf sys."broadcast"
@@ -120,6 +154,7 @@
\dSf sys."covar_pop"
\dSf sys."covar_samp"
\dSf sys."createorderindex"
+\dSf sys."current_size_dump_statements"
\dSf sys."date_to_str"
\dSf sys."date_trunc"
\dSf sys."db_users"
@@ -130,16 +165,24 @@
\dSf sys."describe_function"
\dSf sys."describe_table"
\dSf sys."describe_type"
+\dSf sys."dq"
\dSf sys."droporderindex"
+\dSf sys."dump_database"
+\dSf sys."dump_table_data"
\dSf sys."env"
\dSf sys."epoch"
+\dSf sys."esc"
+\dSf sys."eval"
\dSf sys."evalalgebra"
\dSf sys."fitsattach"
\dSf sys."fitsload"
\dSf sys."flush_log"
+\dSf sys."fqn"
\dSf sys."fuse"
\dSf sys."generate_series"
\dSf sys."geometrytype"
+\dSf sys."get_merge_table_partition_expressions"
+\dSf sys."get_remote_table_expressions"
\dSf sys."get_type"
\dSf sys."getanchor"
\dSf sys."getbasename"
@@ -189,6 +232,7 @@
\dSf sys."optimizers"
\dSf sys."password_hash"
\dSf sys."pause"
+\dSf sys."prepare_esc"
\dSf sys."prepared_statements"
\dSf sys."prepared_statements_args"
\dSf sys."quantile"
@@ -203,12 +247,14 @@
\dSf sys."queue"
\dSf sys."rejects"
\dSf sys."remote_table_credentials"
+\dSf sys."replace_first"
\dSf sys."resume"
\dSf sys."resume_log_flushing"
\dSf sys."reuse"
\dSf sys."reverse"
\dSf sys."right_shift"
\dSf sys."right_shift_assign"
+\dSf sys."schema_guard"
\dSf sys."sessions"
\dSf sys."setmasklen"
\dSf sys."setmemorylimit"
@@ -223,6 +269,7 @@
\dSf sys."shpload"
\dSf sys."shrink"
\dSf sys."shutdown"
+\dSf sys."sq"
\dSf sys."st_area"
\dSf sys."st_asbinary"
\dSf sys."st_asewkt"
@@ -351,6 +398,7 @@ SYSTEM TABLE sys.comments
SYSTEM TABLE sys.db_user_info
SYSTEM TABLE sys.dependencies
SYSTEM TABLE sys.dependency_types
+SYSTEM TABLE sys.dump_statements
SYSTEM TABLE sys.function_languages
SYSTEM TABLE sys.function_types
SYSTEM TABLE sys.functions
@@ -406,7 +454,38 @@ SYSTEM VIEW sys.dependency_tables_on_vi
SYSTEM VIEW sys.dependency_views_on_functions
SYSTEM VIEW sys.dependency_views_on_procedures
SYSTEM VIEW sys.dependency_views_on_views
+SYSTEM VIEW sys.describe_column_defaults
+SYSTEM VIEW sys.describe_comments
+SYSTEM VIEW sys.describe_constraints
+SYSTEM VIEW sys.describe_foreign_keys
+SYSTEM VIEW sys.describe_functions
+SYSTEM VIEW sys.describe_indices
+SYSTEM VIEW sys.describe_partition_tables
+SYSTEM VIEW sys.describe_privileges
+SYSTEM VIEW sys.describe_sequences
+SYSTEM VIEW sys.describe_tables
+SYSTEM VIEW sys.describe_triggers
+SYSTEM VIEW sys.describe_user_defined_types
+SYSTEM VIEW sys.dump_add_schemas_to_users
+SYSTEM VIEW sys.dump_column_defaults
+SYSTEM VIEW sys.dump_comments
+SYSTEM VIEW sys.dump_create_roles
+SYSTEM VIEW sys.dump_create_schemas
+SYSTEM VIEW sys.dump_create_users
+SYSTEM VIEW sys.dump_foreign_keys
+SYSTEM VIEW sys.dump_functions
+SYSTEM VIEW sys.dump_grant_user_priviledges
+SYSTEM VIEW sys.dump_indices
+SYSTEM VIEW sys.dump_partition_tables
+SYSTEM VIEW sys.dump_privileges
+SYSTEM VIEW sys.dump_sequences
+SYSTEM VIEW sys.dump_start_sequences
+SYSTEM VIEW sys.dump_table_constraint_type
+SYSTEM VIEW sys.dump_tables
+SYSTEM VIEW sys.dump_triggers
+SYSTEM VIEW sys.dump_user_defined_types
SYSTEM VIEW sys.environment
+SYSTEM VIEW sys.fully_qualified_functions
SYSTEM VIEW sys.geometry_columns
SYSTEM VIEW sys.ids
SYSTEM VIEW sys.optimizers
@@ -435,6 +514,7 @@ SYSTEM FUNCTION sys.<>
SYSTEM FUNCTION sys.=
SYSTEM FUNCTION sys.>
SYSTEM FUNCTION sys.>=
+SYSTEM PROCEDURE sys._dump_table_data
SYSTEM FUNCTION sys.abbrev
SYSTEM FUNCTION sys.abs
SYSTEM FUNCTION sys.acos
@@ -442,6 +522,7 @@ SYSTEM AGGREGATE sys.all
SYSTEM FUNCTION sys.all
SYSTEM AGGREGATE sys.allnotequal
SYSTEM FUNCTION sys.alpha
+SYSTEM FUNCTION sys.alter_table
SYSTEM PROCEDURE sys.analyze
SYSTEM FUNCTION sys.and
SYSTEM FUNCTION sys.any
@@ -488,6 +569,7 @@ SYSTEM PROCEDURE sys.createorderi
SYSTEM WINDOW sys.cume_dist
SYSTEM FUNCTION sys.curdate
SYSTEM FUNCTION sys.current_date
+SYSTEM FUNCTION sys.current_size_dump_statements
SYSTEM FUNCTION sys.current_time
SYSTEM FUNCTION sys.current_timestamp
SYSTEM FUNCTION sys.curtime
@@ -510,12 +592,17 @@ SYSTEM FUNCTION sys.describe_tab
SYSTEM FUNCTION sys.describe_type
SYSTEM WINDOW sys.diff
SYSTEM FUNCTION sys.difference
+SYSTEM FUNCTION sys.dq
SYSTEM PROCEDURE sys.droporderindex
+SYSTEM FUNCTION sys.dump_database
+SYSTEM PROCEDURE sys.dump_table_data
SYSTEM FUNCTION sys.editdistance
SYSTEM FUNCTION sys.editdistance2
SYSTEM FUNCTION sys.env
SYSTEM FUNCTION sys.epoch
SYSTEM FUNCTION sys.epoch_ms
+SYSTEM FUNCTION sys.esc
+SYSTEM PROCEDURE sys.eval
SYSTEM PROCEDURE sys.evalalgebra
SYSTEM AGGREGATE sys.exist
SYSTEM FUNCTION sys.exp
@@ -524,9 +611,12 @@ SYSTEM PROCEDURE sys.fitsattach
SYSTEM PROCEDURE sys.fitsload
SYSTEM FUNCTION sys.floor
SYSTEM PROCEDURE sys.flush_log
+SYSTEM FUNCTION sys.fqn
SYSTEM FUNCTION sys.fuse
SYSTEM FUNCTION sys.generate_series
SYSTEM FUNCTION sys.geometrytype
+SYSTEM FUNCTION sys.get_merge_table_partition_expressions
+SYSTEM FUNCTION sys.get_remote_table_expressions
SYSTEM FUNCTION sys.get_type
SYSTEM FUNCTION sys.get_value_for
SYSTEM FUNCTION sys.getanchor
@@ -647,6 +737,7 @@ SYSTEM PROCEDURE sys.pause
SYSTEM WINDOW sys.percent_rank
SYSTEM FUNCTION sys.pi
SYSTEM FUNCTION sys.power
+SYSTEM FUNCTION sys.prepare_esc
SYSTEM FUNCTION sys.prepared_statements
SYSTEM FUNCTION sys.prepared_statements_args
SYSTEM AGGREGATE sys.prod
@@ -670,6 +761,7 @@ SYSTEM FUNCTION sys.rejects
SYSTEM FUNCTION sys.remote_table_credentials
SYSTEM FUNCTION sys.repeat
SYSTEM FUNCTION sys.replace
+SYSTEM FUNCTION sys.replace_first
SYSTEM FUNCTION sys.restart
SYSTEM PROCEDURE sys.resume
SYSTEM PROCEDURE sys.resume_log_flushing
@@ -686,6 +778,7 @@ SYSTEM FUNCTION sys.rpad
SYSTEM FUNCTION sys.rtrim
SYSTEM FUNCTION sys.scale_down
SYSTEM FUNCTION sys.scale_up
+SYSTEM FUNCTION sys.schema_guard
SYSTEM FUNCTION sys.second
SYSTEM FUNCTION sys.sessions
SYSTEM FUNCTION sys.setmasklen
@@ -708,6 +801,7 @@ SYSTEM FUNCTION sys.sinh
SYSTEM FUNCTION sys.soundex
SYSTEM FUNCTION sys.space
SYSTEM FUNCTION sys.splitpart
+SYSTEM FUNCTION sys.sq
SYSTEM FUNCTION sys.sql_add
SYSTEM FUNCTION sys.sql_anyequal
SYSTEM FUNCTION sys.sql_div
@@ -876,6 +970,7 @@ CREATE TABLE "sys"."comments" ("id" INTE
CREATE TABLE "sys"."db_user_info" ("name" VARCHAR(1024), "fullname"
VARCHAR(2048), "default_schema" INTEGER, "schema_path" CHARACTER LARGE OBJECT);
CREATE TABLE "sys"."dependencies" ("id" INTEGER, "depend_id" INTEGER,
"depend_type" SMALLINT);
CREATE TABLE "sys"."dependency_types" ("dependency_type_id" SMALLINT NOT NULL,
"dependency_type_name" VARCHAR(15) NOT NULL, CONSTRAINT
"dependency_types_dependency_type_id_pkey" PRIMARY KEY ("dependency_type_id"),
CONSTRAINT "dependency_types_dependency_type_name_unique" UNIQUE
("dependency_type_name"));
+CREATE TABLE "sys"."dump_statements" ("o" INTEGER NOT NULL, "s" CHARACTER
LARGE OBJECT, CONSTRAINT "dump_statements_o_pkey" PRIMARY KEY ("o"));
CREATE TABLE "sys"."function_languages" ("language_id" SMALLINT NOT NULL,
"language_name" VARCHAR(20) NOT NULL, "language_keyword" VARCHAR(20),
CONSTRAINT "function_languages_language_id_pkey" PRIMARY KEY ("language_id"),
CONSTRAINT "function_languages_language_name_unique" UNIQUE ("language_name"));
CREATE TABLE "sys"."function_types" ("function_type_id" SMALLINT NOT NULL,
"function_type_name" VARCHAR(30) NOT NULL, "function_type_keyword" VARCHAR(30)
NOT NULL, CONSTRAINT "function_types_function_type_id_pkey" PRIMARY KEY
("function_type_id"), CONSTRAINT "function_types_function_type_name_unique"
UNIQUE ("function_type_name"));
CREATE TABLE "sys"."functions" ("id" INTEGER, "name" VARCHAR(256), "func"
VARCHAR(8196), "mod" VARCHAR(8196), "language" INTEGER, "type" INTEGER,
"side_effect" BOOLEAN, "varres" BOOLEAN, "vararg" BOOLEAN, "schema_id" INTEGER,
"system" BOOLEAN, "semantics" BOOLEAN);
@@ -938,7 +1033,65 @@ create view sys.dependency_tables_on_vie
create view sys.dependency_views_on_functions as select v.schema_id as
view_schema_id, v.id as view_id, v.name as view_name, f.name as function_name,
f.type as function_type, dep.depend_type as depend_type from sys.functions as
f, sys.tables as v, sys.dependencies as dep where v.id = dep.id and f.id =
dep.depend_id and dep.depend_type = 7 and f.type <> 2 and v.type in (1, 11)
order by v.name, v.schema_id, f.name, f.id;
create view sys.dependency_views_on_procedures as select v.schema_id as
view_schema_id, v.id as view_id, v.name as view_name, p.id as procedure_id,
p.name as procedure_name, p.type as procedure_type, dep.depend_type as
depend_type from sys.functions as p, sys.tables as v, sys.dependencies as dep
where v.id = dep.id and p.id = dep.depend_id and dep.depend_type = 13 and
p.type = 2 and v.type in (1, 11) order by v.name, v.schema_id, p.name, p.id;
create view sys.dependency_views_on_views as select v1.schema_id as
view1_schema_id, v1.id as view1_id, v1.name as view1_name, v2.schema_id as
view2_schema_id, v2.id as view2_id, v2.name as view2_name, dep.depend_type as
depend_type from sys.tables as v1, sys.tables as v2, sys.dependencies as dep
where v1.id = dep.id and v2.id = dep.depend_id and dep.depend_type = 5 and
v1.type in (1, 11) and v2.type in (1, 11) order by v1.schema_id, v1.name,
v2.schema_id, v2.name;
+create view sys.describe_column_defaults as select s.name sch, t.name tbl,
c.name col, c."default" def from schemas s, tables t, columns c where s.id =
t.schema_id and t.id = c.table_id and s.name <> 'tmp' and not t.system and
c."default" is not null;
+create view sys.describe_comments as select o.id id, o.tpe tpe, o.nme fqn,
c.remark rem from (select id, 'SCHEMA', dq(name) from schemas union all select
t.id, case when ts.table_type_name = 'VIEW' then 'VIEW' else 'TABLE' end,
fqn(s.name, t.name) from schemas s join tables t on s.id = t.schema_id join
table_types ts on t.type = ts.table_type_id where not s.name <> 'tmp' union all
select c.id, 'COLUMN', fqn(s.name, t.name) || '.' || dq(c.name) from
sys.columns c, sys.tables t, sys.schemas s where c.table_id = t.id and
t.schema_id = s.id union all select idx.id, 'INDEX', fqn(s.name, idx.name) from
sys.idxs idx, sys._tables t, sys.schemas s where idx.table_id = t.id and
t.schema_id = s.id union all select seq.id, 'SEQUENCE', fqn(s.name, seq.name)
from sys.sequences seq, schemas s where seq.schema_id = s.id union all select
f.id, ft.function_type_keyword, fqn(s.name, f.name) from functions f,
function_types ft, schemas s where f.type = ft.function_type_id and f.schema_id
= s.id) as o(i
d, tpe, nme) join comments c on c.id = o.id;
+create view sys.describe_constraints as select s.name sch, t.name tbl, kc.name
col, k.name con, case when k.type = 0 then 'PRIMARY KEY' when k.type = 1 then
'UNIQUE' end tpe from sys.schemas s, sys._tables t, sys.objects kc, sys.keys k
where kc.id = k.id and k.table_id = t.id and s.id = t.schema_id and t.system =
false and k.type in (0, 1) and t.type in (0, 6);
+create view sys.describe_foreign_keys as with action_type (id, act) as (values
(0, 'NO ACTION'), (1, 'CASCADE'), (2, 'RESTRICT'), (3, 'SET NULL'), (4, 'SET
DEFAULT')) select fs.name fk_s, fkt.name fk_t, fkkc.name fk_c, fkkc.nr o,
fkk.name fk, ps.name pk_s, pkt.name pk_t, pkkc.name pk_c, ou.act on_update,
od.act on_delete from sys._tables fkt, sys.objects fkkc, sys.keys fkk,
sys._tables pkt, sys.objects pkkc, sys.keys pkk, sys.schemas ps, sys.schemas
fs, action_type ou, action_type od where fkt.id = fkk.table_id and pkt.id =
pkk.table_id and fkk.id = fkkc.id and pkk.id = pkkc.id and fkk.rkey = pkk.id
and fkkc.nr = pkkc.nr and pkt.schema_id = ps.id and fkt.schema_id = fs.id and
(fkk."action" & 255) = od.id and ((fkk."action" >> 8) & 255) = ou.id order by
fkk.name, fkkc.nr;
+create view sys.describe_functions as select f.id o, s.name sch, f.name fun,
f.func def from functions f join schemas s on f.schema_id = s.id where s.name
<> 'tmp' and not f.system;
+create view sys.describe_indices as with it (id, idx) as (values (0, 'INDEX'),
(4, 'IMPRINTS INDEX'), (5, 'ORDERED INDEX')) select i.name ind, s.name sch,
t.name tbl, c.name col, it.idx tpe from sys.idxs as i left join sys.keys as k
on i.name = k.name, sys.objects as kc, sys._columns as c, sys.schemas s,
sys._tables as t, it where i.table_id = t.id and i.id = kc.id and kc.name =
c.name and t.id = c.table_id and t.schema_id = s.id and k.type is null and
i.type = it.id order by i.name, kc.nr;
+create view sys.describe_partition_tables as select m_sch, m_tbl, p_sch,
p_tbl, case when p_raw_type is null then 'READ ONLY' when (p_raw_type =
'VALUES' and pvalues is null) or (p_raw_type = 'RANGE' and minimum is null and
maximum is null and with_nulls) then 'FOR NULLS' else p_raw_type end as tpe,
pvalues, minimum, maximum, with_nulls from (with tp("type", table_id) as
(select case when (table_partitions."type" & 2) = 2 then 'VALUES' else 'RANGE'
end, table_partitions.table_id from table_partitions), subq(m_tid, p_mid,
"type", m_sch, m_tbl, p_sch, p_tbl) as (select m_t.id, p_m.id, m_t."type",
m_s.name, m_t.name, p_s.name, p_m.name from schemas m_s, sys._tables m_t,
dependencies d, schemas p_s, sys._tables p_m where m_t."type" in (3, 6) and
m_t.schema_id = m_s.id and m_s.name <> 'tmp' and m_t.system = false and m_t.id
= d.depend_id and d.id = p_m.id and p_m.schema_id = p_s.id order by m_t.id,
p_m.id) select subq.m_sch, subq.m_tbl, subq.p_sch, subq.p_tbl, tp."type" as
p_raw_type, ca
se when tp."type" = 'VALUES' then (select group_concat(vp.value, ',')from
value_partitions vp where vp.table_id = subq.p_mid) else null end as pvalues,
case when tp."type" = 'RANGE' then (select minimum from range_partitions rp
where rp.table_id = subq.p_mid) else null end as minimum, case when tp."type" =
'RANGE' then (select maximum from range_partitions rp where rp.table_id =
subq.p_mid) else null end as maximum, case when tp."type" = 'VALUES' then
exists(select vp.value from value_partitions vp where vp.table_id = subq.p_mid
and vp.value is null) else (select rp.with_nulls from range_partitions rp where
rp.table_id = subq.p_mid) end as with_nulls from subq left outer join tp on
subq.m_tid = tp.table_id) as tmp_pi;
+create view sys.describe_privileges as select case when o.tpe is null and
pc.privilege_code_name = 'SELECT' then 'COPY FROM' when o.tpe is null and
pc.privilege_code_name = 'UPDATE' then 'COPY INTO' else o.nme end o_nme, case
when o.tpe is not null then o.tpe else 'GLOBAL' end o_tpe,
pc.privilege_code_name p_nme, a.name a_nme, g.name g_nme, p.grantable grantable
from privileges p left join (select t.id, s.name || '.' || t.name , 'TABLE'
from sys.schemas s, sys.tables t where s.id = t.schema_id union all select
c.id, s.name || '.' || t.name || '.' || c.name, 'COLUMN' from sys.schemas s,
sys.tables t, sys.columns c where s.id = t.schema_id and t.id = c.table_id
union all select f.id, f.nme, f.tpe from fully_qualified_functions f) o(id,
nme, tpe) on o.id = p.obj_id, sys.privilege_codes pc, auths a, auths g where
p.privileges = pc.privilege_code_id and p.auth_id = a.id and p.grantor = g.id;
+create view sys.describe_sequences as select s.name as sch, seq.name as seq,
seq."start" s, get_value_for(s.name, seq.name) as rs, seq."minvalue" mi,
seq."maxvalue" ma, seq."increment" inc, seq."cacheinc" cache, seq."cycle" cycle
from sys.sequences seq, sys.schemas s where s.id = seq.schema_id and s.name <>
'tmp' order by s.name, seq.name;
+create view sys.describe_tables as select t.id o, s.name sch, t.name tab,
ts.table_type_name typ, (select ' (' || group_concat(dq(c.name) || ' ' ||
sys.describe_type(c.type, c.type_digits, c.type_scale) || ifthenelse(c."null" =
'false', ' NOT NULL', '') , ', ') || ')' from sys._columns c where c.table_id =
t.id) col, case when ts.table_type_name = 'REMOTE TABLE' then
get_remote_table_expressions(s.name, t.name) when ts.table_type_name = 'MERGE
TABLE' then get_merge_table_partition_expressions(t.id) when ts.table_type_name
= 'VIEW' then schema_guard(s.name, t.name, t.query) else '' end opt from
sys.schemas s, table_types ts, sys.tables t where ts.table_type_name in
('TABLE', 'VIEW', 'MERGE TABLE', 'REMOTE TABLE', 'REPLICA TABLE') and t.system
= false and s.id = t.schema_id and ts.table_type_id = t.type and s.name <>
'tmp';
+create view sys.describe_triggers as select s.name sch, t.name tab, tr.name
tri, tr.statement def from sys.schemas s, sys.tables t, sys.triggers tr where
s.id = t.schema_id and t.id = tr.table_id and not t.system;
+create view sys.describe_user_defined_types as select s.name sch, t.sqlname
sql_tpe, t.systemname ext_tpe from sys.types t join sys.schemas s on
t.schema_id = s.id where t.eclass = 18 and ((s.name = 'sys' and t.sqlname not
in ('geometrya', 'mbr', 'url', 'inet', 'json', 'uuid', 'xml')) or (s.name <>
'sys'));
+create view sys.dump_add_schemas_to_users as select 'ALTER USER ' ||
sys.dq(ui.name) || ' SET SCHEMA ' || sys.dq(s.name) || ';' stmt
+from sys.db_user_info ui, sys.schemas s
+where ui.default_schema = s.id
+and ui.name <> 'monetdb'
+and ui.name <> '.snapshot'
+and s.name <> 'sys';
+create view sys.dump_column_defaults as select 'ALTER TABLE ' || fqn(sch, tbl)
|| ' ALTER COLUMN ' || dq(col) || ' SET DEFAULT ' || def || ';' stmt
+from describe_column_defaults;
+create view sys.dump_comments as select 'COMMENT ON ' || c.tpe || ' ' || c.fqn
|| ' IS ' || sq(c.rem) || ';' stmt from describe_comments c;
+create view sys.dump_create_roles as select 'CREATE ROLE ' || sys.dq(name) ||
';' stmt from sys.auths
+where name not in (select name from sys.db_user_info)
+and grantor <> 0;
+create view sys.dump_create_schemas as select 'CREATE SCHEMA ' ||
sys.dq(s.name) || ifthenelse(a.name <> 'sysadmin', ' AUTHORIZATION ' || a.name,
' ') || ';' stmt
+from sys.schemas s, sys.auths a
+where s.authorization = a.id and s.system = false;
+create view sys.dump_create_users as select 'CREATE USER ' || sys.dq(ui.name)
|| ' WITH ENCRYPTED PASSWORD ' || sys.sq(sys.password_hash(ui.name)) || ' NAME
' || sys.sq(ui.fullname) || ' SCHEMA sys;' stmt
+from sys.db_user_info ui, sys.schemas s
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list