Changeset: 3bb206122ef5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3bb206122ef5
Modified Files:
        sql/storage/store.c
Branch: nospare
Log Message:

fixed partition by value list/range partitions


diffs (45 lines):

diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -4261,6 +4261,7 @@ sql_trans_add_table(sql_trans *tr, sql_t
        /* merge table depends on part table */
        sql_trans_create_dependency(tr, pt->base.id, mt->base.id, 
TABLE_DEPENDENCY);
        assert(isMergeTable(mt) || isReplicaTable(mt));
+       mt = new_table(tr, mt);
        p->t = mt;
        p->member = pt;
        /* TODO parts should have a unique name - id ? */
@@ -4291,6 +4292,7 @@ sql_trans_add_range_partition(sql_trans 
 
        vmin = vmax = (ValRecord) {.vtype = TYPE_void,};
 
+       mt = new_table(tr, mt);
        if (min) {
                ok = VALinit(&vmin, localtype, min);
                if (ok && localtype != TYPE_str)
@@ -4381,7 +4383,7 @@ sql_trans_add_range_partition(sql_trans 
        }
 
        if (!update)
-               cs_add(&mt->members, p, TR_NEW);
+               os_add(mt->s->parts, tr, p->base.name, dup_base(&p->base));
 finish:
        VALclear(&vmin);
        VALclear(&vmax);
@@ -4402,6 +4404,7 @@ sql_trans_add_value_partition(sql_trans 
        int localtype = tpe.type->localtype, i = 0;
        sqlid *v;
 
+       mt = new_table(tr, mt);
        if (!update) {
                p = SA_ZNEW(tr->sa, sql_part);
                base_init(tr->sa, &p->base, pt->base.id, TR_NEW, pt->base.name);
@@ -4474,7 +4477,7 @@ sql_trans_add_value_partition(sql_trans 
                /* add merge table dependency */
                sql_trans_create_dependency(tr, pt->base.id, mt->base.id, 
TABLE_DEPENDENCY);
                store->table_api.table_insert(tr, sysobj, &mt->base.id, 
p->base.name, &p->base.id);
-               cs_add(&mt->members, p, TR_NEW);
+               os_add(mt->s->parts, tr, p->base.name, dup_base(&p->base));
        }
        return 0;
 }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to