Changeset: 0552ef2b9a60 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0552ef2b9a60
Modified Files:
dump.sql
dump_output.sql
Branch: monetdbe-proxy
Log Message:
Small fixes and fix output.
diffs (120 lines):
diff --git a/dump.sql b/dump.sql
--- a/dump.sql
+++ b/dump.sql
@@ -65,7 +65,7 @@ CREATE FUNCTION dump_type(type STRING, d
END;
END;
-CREATE FUNCTION dump_contraint_type_name(id INT) RETURNS STRING BEGIN
+CREATE FUNCTION dump_CONSTRAINT_type_name(id INT) RETURNS STRING BEGIN
RETURN
CASE
WHEN id = 0 THEN 'PRIMARY KEY'
@@ -75,7 +75,7 @@ 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)
+ SELECT t.name, kc.nr, kc.name, k.name,
dump_CONSTRAINT_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
@@ -88,7 +88,7 @@ CREATE FUNCTION dump_table_constraint_ty
RETURN
SELECT
'ALTER TABLE ' || DQ("table") ||
- ' ADD CONTRAINT ' || DQ(con) || ' '||
+ ' ADD CONSTRAINT ' || DQ(con) || ' '||
type || ' (' || GROUP_CONCAT(DQ(col), ', ') || ');'
FROM describe_constraints() GROUP BY "table", con, type;
END;
@@ -115,7 +115,7 @@ END;
CREATE FUNCTION dump_merge_table_partition_expressions(tid INT) RETURNS STRING
BEGIN
RETURN SELECT
- 'PARTITION BY ' ||
+ ' PARTITION BY ' ||
CASE
WHEN bit_and(tp.type, 2) = 2
THEN 'VALUES '
@@ -123,8 +123,8 @@ BEGIN
END ||
CASE
WHEN bit_and(tp.type, 4) = 4 --column expression
- THEN 'ON ' || (SELECT DQ(c.name) FROM
sys.columns c WHERE c.id = tp.column_id)
- ELSE 'USING ' || SQ(tp.expression) --generic
expression
+ THEN 'ON ' || '(' || (SELECT DQ(c.name) || ')'
FROM sys.columns c WHERE c.id = tp.column_id)
+ ELSE 'USING ' || '(' || tp.expression || ')'
--generic expression
END
FROM sys.table_partitions tp
WHERE tp.table_id = tid;
@@ -193,23 +193,18 @@ BEGIN
WHERE sch.id = seq.schema_id;
INSERT INTO dump_statements(s) --dump_create_tables
- SELECT CASE
- WHEN t.type = 5 THEN
- 'CREATE ' || ts.table_type_name || ' ' ||
DQ(s.name) || '.' || DQ(t.name) || dump_column_definition(t.id) ||
dump_remote_table_expressions(s.name, t.name) || ';'
- ELSE
- 'CREATE ' || ts.table_type_name || ' ' ||
DQ(s.name) || '.' || DQ(t.name) || dump_column_definition(t.id) || ';'
+ SELECT
+ 'CREATE ' || ts.table_type_name || ' ' || DQ(s.name) ||
'.' || DQ(t.name) || dump_column_definition(t.id) ||
+ CASE
+ WHEN ts.table_type_name = 'REMOTE TABLE' THEN
+ dump_remote_table_expressions(s.name,
t.name) || ';'
+ WHEN ts.table_type_name = 'MERGE TABLE' THEN
+
dump_merge_table_partition_expressions(t.id) || ';'
+ ELSE
+ ';'
END
FROM sys.schemas s, table_types ts, sys._tables t
- WHERE t.type IN (0, 5, 6)
- AND t.system = FALSE
- AND s.id = t.schema_id
- AND ts.table_type_id = t.type
- AND s.name <> 'tmp';
-
- INSERT INTO dump_statements(s) --dump_create_merge_tables
- SELECT 'CREATE ' || ts.table_type_name || ' ' || DQ(s.name) ||
'.' || DQ(t.name) || dump_column_definition(t.id) ||
dump_merge_table_partition_expressions(t.id) || ';'
- FROM sys.schemas s, table_types ts, sys._tables t
- WHERE t.type = 3
+ WHERE ts.table_type_name IN ('TABLE', 'MERGE TABLE', 'REMOTE
TABLE', 'REPLICA TABLE')
AND t.system = FALSE
AND s.id = t.schema_id
AND ts.table_type_id = t.type
diff --git a/dump_output.sql b/dump_output.sql
--- a/dump_output.sql
+++ b/dump_output.sql
@@ -10,6 +10,9 @@ CREATE SEQUENCE "sys"."seq_18814" AS INT
CREATE SEQUENCE "sys"."seq_8219" AS INTEGER;
CREATE SEQUENCE "sys"."seq_9119" AS INTEGER;
CREATE SEQUENCE "sys"."seq_8917" AS INTEGER;
+CREATE SEQUENCE "sys"."seq_10005" AS INTEGER;
+CREATE SEQUENCE "sys"."seq_8264" AS INTEGER;
+CREATE SEQUENCE "sys"."seq_8325" AS INTEGER;
COMMENT ON SEQUENCE "sys"."seq_8219" IS 'This is a comment on a sequence.' ;
CREATE TABLE "sys"."test" ("s" CHARACTER LARGE OBJECT);
CREATE TABLE "sys"."bla" ("s" CHARACTER LARGE OBJECT(10));
@@ -23,14 +26,16 @@ CREATE TABLE "sfoo"."tfoo" ("i" INTEGER)
CREATE TABLE "sfoo"."test" ("s" CHARACTER LARGE OBJECT);
CREATE TABLE "sys"."pfoo1" ("i" INTEGER);
CREATE TABLE "sys"."pfoo2" ("i" INTEGER);
-CREATE REMOTE TABLE "sys"."rfoo" ("i" INTEGER) ON
'mapi:monetdb://remote.host.url:50000/dbname' WITH USER 'bob' ENCRYPTED
PASSWORD
'4a3ed8147e37876adc8f76328e5abcc1b470e6acfc18efea0135f983604953a58e183c1a6086e91ba3e821d926f5fdeb37761c7ca0328a963f5e92870675b728'
;
+CREATE TABLE "sys"."lower_scorers" ("name" CHARACTER LARGE OBJECT,
"first_score" INTEGER, "second_score" INTEGER);
+CREATE TABLE "sys"."higher_scorers" ("name" CHARACTER LARGE OBJECT,
"first_score" INTEGER, "second_score" INTEGER);
+CREATE TABLE "sys"."foo" ("i" INTEGER, "s" CHARACTER LARGE OBJECT);
+CREATE TABLE "sys"."bar" ("i" INTEGER, "s" CHARACTER LARGE OBJECT);
+CREATE REMOTE TABLE "sys"."rfoo" ("i" INTEGER) ON
'mapi:monetdb://remote.host.url:50000/dbname' WITH USER 'bob' ENCRYPTED
PASSWORD
'f8e3183d38e6c51889582cb260ab825252f395b4ac8fb0e6b13e9a71f7c10a80d5301e4a949f2783cb0c20205f1d850f87045f4420ad2271c8fd5f0cd8944be3'
;
+CREATE MERGE TABLE "sys"."scorers" ("name" CHARACTER LARGE OBJECT,
"first_score" INTEGER, "second_score" INTEGER) PARTITION BY VALUES USING
("sys"."mod"("sys"."greatest"("first_score","second_score"),10));
+CREATE MERGE TABLE "sys"."splitted" ("stamp" TIMESTAMP , "val" INTEGER)
PARTITION BY RANGE ON ("stamp");
+CREATE REPLICA TABLE "sys"."rep" ("i" INTEGER);
ALTER TABLE "bolo" ADD CONSTRAINT "cpk" PRIMARY KEY ("s", "v");
ALTER TABLE "rolo" ADD CONSTRAINT "rolo_v_pkey" PRIMARY KEY ("v");
ALTER TABLE "ungolo" ADD CONSTRAINT "ungolo_x_y_unique" UNIQUE ("x", "y");
ALTER TABLE "ungolo" ADD CONSTRAINT "ungolo_z_unique" UNIQUE ("z");
-CREATE MERGE TABLE scorers (name clob, first_score int, second_score int)
PARTITION BY VALUES USING (greatest(first_score, second_score) % 10);
-CREATE TABLE lower_scorers (name clob, first_score int, second_score int);
-CREATE TABLE higher_scorers (name clob, first_score int, second_score int);
-ALTER TABLE scorers ADD TABLE lower_scorers AS PARTITION IN (0, 1, 2, 3, 4);
-ALTER TABLE scorers ADD TABLE higher_scorers AS PARTITION IN (5, 6, 7, 8, 9);
COMMIT;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list