Changeset: 92a447227f9b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/92a447227f9b
Branch: Jan2022
Log Message:

merged


diffs (134 lines):

diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c
--- a/sql/server/rel_rel.c
+++ b/sql/server/rel_rel.c
@@ -179,7 +179,8 @@ rel_copy(mvc *sql, sql_rel *i, int deep)
                rel_base_copy(sql, i, rel);
                break;
        case op_table:
-               rel->l = i->l;
+               if ((IS_TABLE_PROD_FUNC(i->flag) || i->flag == 
TABLE_FROM_RELATION) && i->l)
+                       rel->l = rel_copy(sql, i->l, deep);
                rel->r = i->r;
                break;
        case op_project:
@@ -195,7 +196,7 @@ rel_copy(mvc *sql, sql_rel *i, int deep)
                }
                break;
        case op_ddl:
-               if (rel->flag == ddl_output || rel->flag == ddl_create_seq || 
rel->flag == ddl_alter_seq || rel->flag == ddl_alter_table || rel->flag == 
ddl_create_table || rel->flag == ddl_create_view) {
+               if (i->flag == ddl_output || i->flag == ddl_create_seq || 
i->flag == ddl_alter_seq || i->flag == ddl_alter_table || i->flag == 
ddl_create_table || i->flag == ddl_create_view) {
                        if (i->l)
                                rel->l = rel_copy(sql, i->l, deep);
                } else if (rel->flag == ddl_list || rel->flag == ddl_exception) 
{
@@ -212,10 +213,6 @@ rel_copy(mvc *sql, sql_rel *i, int deep)
                if (i->l)
                        rel->l = rel_copy(sql, i->l, deep);
                break;
-       case op_insert:
-       case op_update:
-       case op_delete:
-
        case op_join:
        case op_left:
        case op_right:
@@ -226,6 +223,10 @@ rel_copy(mvc *sql, sql_rel *i, int deep)
        case op_union:
        case op_inter:
        case op_except:
+
+       case op_insert:
+       case op_update:
+       case op_delete:
        case op_merge:
                if (i->l)
                        rel->l = rel_copy(sql, i->l, deep);
diff --git a/sql/test/dict/Tests/dict01.test b/sql/test/dict/Tests/dict01.test
--- a/sql/test/dict/Tests/dict01.test
+++ b/sql/test/dict/Tests/dict01.test
@@ -41,12 +41,6 @@ statement ok
 START TRANSACTION
 
 statement ok
-DROP ALL PROCEDURE "sys"."dict_compress"
-
-statement ok
-DROP ALL PROCEDURE "sys"."for_compress"
-
-statement ok
 DROP TABLE "mct20"
 
 statement ok
@@ -54,3 +48,73 @@ DROP TABLE "mct21"
 
 statement ok
 COMMIT
+
+statement ok
+START TRANSACTION
+
+statement ok
+CREATE TABLE "t1" ("c0" UUID,"c1" SMALLINT NOT NULL)
+
+statement ok rowcount 9
+COPY 9 RECORDS INTO "t1" FROM stdin USING DELIMITERS E'\t',E'\n','"'
+<COPY_INTO_DATA>
+c036a4cf-ecec-57d1-9aca-6dce4eb8d12b   5
+df1bcbac-01e3-81bc-a7c2-c2769fc9751a   0
+NULL   7
+NULL   9
+NULL   1
+NULL   3
+bb4fb0da-aff1-1919-f4eb-abaaf9e6b1f7   6
+648be74d-ccff-ea44-fd64-dfcb3a8c5b6c   8
+fb7c955a-defd-1b91-0aca-aecfc8a0c5aa   2
+
+statement ok
+CREATE TABLE "t0" ("c0" BIGINT NOT NULL)
+
+statement ok rowcount 11
+COPY 11 RECORDS INTO "sys"."t0" FROM stdin USING DELIMITERS E'\t',E'\n','"'
+<COPY_INTO_DATA>
+1
+5
+3
+8
+-1
+9
+4
+2
+6
+0
+7
+
+statement ok
+COMMIT
+
+statement ok
+CALL "sys"."dict_compress"('sys','t0','c0',false)
+
+statement ok rowcount 11
+INSERT INTO t1(c0, c1)(SELECT UUID '7A4A6b8b-e7f9-FA09-5650-6d1c83B1fc69', 
t0.c0 FROM t0)
+
+statement ok
+START TRANSACTION
+
+statement ok
+DROP TABLE "t0"
+
+statement ok
+DROP TABLE "t1"
+
+statement ok
+COMMIT
+
+statement ok
+START TRANSACTION
+
+statement ok
+DROP ALL PROCEDURE "sys"."dict_compress"
+
+statement ok
+DROP ALL PROCEDURE "sys"."for_compress"
+
+statement ok
+COMMIT
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to