Changeset: 11cacb65b1c6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=11cacb65b1c6
Modified Files:
        gdk/gdk_search.h
        sql/storage/bat/bat_storage.c
        sql/storage/store.c
Branch: arrays
Log Message:

insertions in arrays are possible (only to non-dimensional columns)


diffs (81 lines):

diff --git a/gdk/gdk_search.h b/gdk/gdk_search.h
--- a/gdk/gdk_search.h
+++ b/gdk/gdk_search.h
@@ -216,7 +216,7 @@ gdk_export BUN HASHlist(Hash *h, BUN i);
                                (x) = _i;                               \
                                break;                                  \
                        }                                               \
-               } else                                                  \
+               } else                                                  \
                        goto hashfnd_failed;                            \
        } while (0)
 #define HASHfnd_str_hv(x,y,z)                                          \
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -1622,7 +1622,7 @@ static int
                                int changes = 0;
                                sql_table *t = n->data;
 
-                               if (isTable(t) && isGlobal(t))
+                               if ((isTable(t) || isArray(t)) && isGlobal(t))
                                        ok = gtr_update_table_f(tr, t, 
&changes);
                                schanges |= changes;
                        }
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -1929,7 +1929,7 @@ column_dup(sql_trans *tr, int flag, sql_
         * on savepoints from tr->parent to new tr (flag == TR_OLD) */
        if ((isNew(oc) && flag == TR_NEW && tr->parent == gtrans) ||
            (oc->base.allocated && flag == TR_OLD && tr->parent != gtrans))
-               if (isTable(c->t)) 
+               if (isTable(c->t) || isArray(c->t)) 
                        store_funcs.dup_col(tr, oc, c);
        if (isNew(oc) && flag == TR_NEW && tr->parent == gtrans) {
                oc->base.flag = TR_OLD;
@@ -2103,7 +2103,7 @@ table_dup(sql_trans *tr, int flag, sql_t
         * on savepoints from tr->parent to new tr (flag == TR_OLD) */
        if ((isNew(ot) && flag == TR_NEW && tr->parent == gtrans) ||
            (ot->base.allocated && flag == TR_OLD && tr->parent != gtrans))
-               if (isTable(t)) 
+               if (isTable(t) || isArray(t)) 
                        store_funcs.dup_del(tr, ot, t);
 
        t->s = s;
@@ -2624,7 +2624,7 @@ rollforward_create_table(sql_trans *tr, 
                /* only register columns without commit action tables */
                ok = rollforward_changeset_creates(tr, &t->columns, (rfcfunc) 
&rollforward_create_column, mode);
 
-               if (isTable(t) ) { 
+               if (isTable(t) || isArray(t)) { 
                        if (p && mode == R_SNAPSHOT)
                                store_funcs.snapshot_create_del(tr, t);
                        else if (p && mode == R_LOG)
@@ -2804,7 +2804,7 @@ rollforward_update_table(sql_trans *tr, 
        if (ok != LOG_OK) 
                return LOG_ERR;
 
-       if (isTable(ft)) {
+       if (isTable(ft) || isArray(ft)) {
                if (p && mode == R_SNAPSHOT) {
                        ok = store_funcs.snapshot_table(tr, ft, tt);
                } else if (p && mode == R_LOG) {
@@ -3075,7 +3075,7 @@ reset_column(sql_trans *tr, sql_column *
        /* did we make changes or is the global changed after we started */
        if (fc->base.rtime || fc->base.wtime || tr->stime < pfc->base.wtime) {
 
-               if (isTable(fc->t)) 
+               if (isTable(fc->t) || isArray(fc->t)) 
                        store_funcs.destroy_col(NULL, fc);
 
                fc->null = pfc->null;
@@ -3117,7 +3117,7 @@ reset_table(sql_trans *tr, sql_table *ft
        if (ft->base.rtime || ft->base.wtime || tr->stime < pft->base.wtime) {
                int ok = LOG_OK;
 
-               if (isTable(ft)) 
+               if (isTable(ft) || isArray(ft)) 
                        store_funcs.destroy_del(NULL, ft);
 
                ft->base.wtime = ft->base.rtime = 0;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to