Changeset: bd5ebc65cb75 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd5ebc65cb75
Modified Files:
        dump.sql
Branch: monetdbe-proxy
Log Message:

Merge heads.


diffs (38 lines):

diff --git a/dump.sql b/dump.sql
--- a/dump.sql
+++ b/dump.sql
@@ -65,6 +65,34 @@ CREATE FUNCTION dump_type(type STRING, d
                END;
 END;
 
+CREATE FUNCTION dump_contraint_type_name(id INT) RETURNS STRING BEGIN
+       RETURN
+               CASE
+               WHEN id = 0 THEN 'PRIMARY KEY'
+               WHEN id = 1 THEN 'UNIQUE'
+               END;
+END;
+
+CREATE FUNCTION describe_constraints() RETURNS TABLE("table" STRING, nr INT, 
col STRING, con STRING, type STRING) BEGIN
+       RETURN
+               SELECT t.name, kc.nr, kc.name, k.name, 
dump_contraint_type_name(k.type)
+               FROM sys._tables t, sys.objects kc, sys.keys k
+               WHERE kc.id = k.id
+                       AND k.table_id = t.id
+                       AND t.system = FALSE
+                       AND k.type in (0, 1)
+                       AND t.type IN (0, 6);
+END;
+
+CREATE FUNCTION dump_table_constraint_type() RETURNS TABLE(stm STRING) BEGIN
+       RETURN
+               SELECT 
+                       'ALTER TABLE ' || DQ("table") ||
+                       ' ADD CONTRAINT ' || DQ(con) || ' '||
+                       type || ' (' || GROUP_CONCAT(DQ(col), ', ') || ');'
+               FROM describe_constraints() GROUP BY "table", con, type;
+END;
+
 --TODO expand dump_column_definition functionality
 CREATE FUNCTION dump_column_definition(tid INT) RETURNS STRING BEGIN
        RETURN
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to