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