Changeset: e94ea6e4879f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e94ea6e4879f
Modified Files:
        gdk/gdk_bbp.c
        sql/backends/monet5/sql.c
Branch: mosaic
Log Message:

first clear the delta structure, then use the new (compressed) bat
(and correct count).

In bbp save the compressed flag.


diffs (48 lines):

diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -715,7 +715,7 @@ heapinit(COLrec *col, const char *buf, i
                   &n) < 13)
                GDKfatal("BBPinit: invalid format for BBP.dir\n%s", buf);
 
-       if (properties & ~0x0F81)
+       if (properties & ~0x1F81)
                GDKfatal("BBPinit: unknown properties are set: incompatible 
database\n");
        *hashash = var & 2;
        var &= ~2;
@@ -1229,7 +1229,8 @@ heap_entry(FILE *fp, COLrec *col)
                           (((unsigned short) col->key & 0x01) << 8) |
                           ((unsigned short) col->dense << 9) |
                           ((unsigned short) col->nonil << 10) |
-                          ((unsigned short) col->nil << 11),
+                          ((unsigned short) col->nil << 11) |
+                          ((unsigned short) col->heap.compressed << 12),
                       col->nokey[0],
                       col->nokey[1],
                       col->nosorted,
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -558,11 +558,12 @@ alter_table(Client cntxt, mvc *sql, char
                if (c->storage_type != nc->storage_type) {
                        bat bid = 0;
                        BAT *b = store_funcs.bind_col(sql->session->tr, nc, 0);
+                       size_t cnt = BATcount(b);
                        sql_delta *d;
                        char *msg;
 
                        assert(b);
-                       if (BATcount(b) <10000){
+                       if (cnt <10000){
                                BBPunfix(b->batCacheid);
                                continue;
                        }
@@ -588,7 +589,7 @@ alter_table(Client cntxt, mvc *sql, char
                        assert(nc->base.allocated == 1);
                        d = nc->data;
                        d->bid = bid;
-                       nc->base.rtime = nc->base.wtime = 
sql->session->tr->wtime;
+                       d->cnt = cnt;
                        mvc_storage(sql, nc, c->storage_type);
                }
        }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to