Changeset: 888b1101578a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=888b1101578a Modified Files: dump.sql dump_output.sql sql/scripts/52_describe.sql sql/scripts/53_dump.sql Branch: monetdbe-proxy Log Message:
Dump user defined types; diffs (70 lines): diff --git a/dump.sql b/dump.sql --- a/dump.sql +++ b/dump.sql @@ -43,6 +43,8 @@ BEGIN FROM sys.schemas s, sys.auths a WHERE s.authorization = a.id AND s.system = FALSE; + INSERT INTO dump_statements(s) SELECT * FROM sys.dump_user_defined_types(); + INSERT INTO dump_statements(s) --dump_add_schemas_to_users SELECT 'ALTER USER ' || sys.dq(ui.name) || ' SET SCHEMA ' || sys.dq(s.name) || ';' @@ -85,11 +87,10 @@ BEGIN INSERT INTO dump_statements(s) VALUES ('TRUNCATE sys.privileges;'); INSERT INTO dump_statements(s) SELECT * FROM sys.dump_privileges(); - --TODO User Defined Types? sys.types - --TODO loaders ,procedures, window and filter sys.functions. --TODO dumping table data + --TODO ALTER SEQUENCE using RESTART WITH after importing table_data. + --TODO loaders ,procedures, window and filter sys.functions. --TODO look into order dependent group_concat - --TODO ALTER SEQUENCE using RESTART WITH after importing table_data. --TODO ADD upgrade code INSERT INTO dump_statements(s) VALUES ('COMMIT;'); diff --git a/dump_output.sql b/dump_output.sql --- a/dump_output.sql +++ b/dump_output.sql @@ -5,6 +5,8 @@ CREATE USER "voc" WITH ENCRYPTED PASSWOR CREATE USER "voc2" WITH ENCRYPTED PASSWORD 'ea45cf4e124b215a28631ec7ff0bf06e82fc26b2be7a066c9594855690fb5d42438be58d6523132384a1738cb4e5139caa1f970ebdfb422d65834d9a4ef61c0e' NAME 'VOC Explorer' SCHEMA sys; CREATE SCHEMA "sbar" AUTHORIZATION monetdb; CREATE SCHEMA "sfoo" AUTHORIZATION monetdb; +CREATE TYPE "sfoo"."json" EXTERNAL NAME "json"; +CREATE TYPE "sys"."t1" EXTERNAL NAME "json"; ALTER USER "voc" SET SCHEMA "sfoo"; CREATE SEQUENCE "sys"."seq1" AS BIGINT START WITH 5 INCREMENT BY 3 MINVALUE 4 MAXVALUE 10 CACHE 2 CYCLE; CREATE SEQUENCE "sys"."seq2" AS BIGINT START WITH 4 INCREMENT BY 3 MINVALUE 4 MAXVALUE 10 CACHE 2 CYCLE; diff --git a/sql/scripts/52_describe.sql b/sql/scripts/52_describe.sql --- a/sql/scripts/52_describe.sql +++ b/sql/scripts/52_describe.sql @@ -439,6 +439,12 @@ BEGIN AND t.type = tt.table_type_id; END; +CREATE FUNCTION sys.describe_user_defined_types() RETURNS TABLE(sch STRING, sql_tpe STRING, ext_tpe STRING) BEGIN + RETURN + SELECT s.name, t.sqlname, t.systemname 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')); +END; + CREATE FUNCTION describe_partition_tables() RETURNS TABLE( m_sname STRING, diff --git a/sql/scripts/53_dump.sql b/sql/scripts/53_dump.sql --- a/sql/scripts/53_dump.sql +++ b/sql/scripts/53_dump.sql @@ -88,6 +88,12 @@ RETURN SELECT 'COMMENT ON ' || c.tpe || ' ' || c.fqn || ' IS ' || SQ(c.rem) || ';' FROM describe_comments() c; END; +--CREATE FUNCTION sys.describe_user_defined_types() RETURNS TABLE(sch STRING, sql_tpe STRING, ext_tpe STRING) BEGIN +CREATE FUNCTION sys.dump_user_defined_types() RETURNS TABLE(stmt STRING) BEGIN + RETURN + SELECT 'CREATE TYPE ' || FQN(sch, sql_tpe) || ' EXTERNAL NAME ' || DQ(ext_tpe) || ';' FROM sys.describe_user_defined_types(); +END; + CREATE FUNCTION dump_privileges() RETURNS TABLE (stmt STRING) BEGIN RETURN SELECT _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list