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

Reply via email to