Changeset: e8b72a1c0715 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e8b72a1c0715
Modified Files:
        monetdb5/modules/mal/mosaic.c
Branch: mosaic
Log Message:

Forcing the BATsave
but it didn't help surviving the server restart


diffs (39 lines):

diff --git a/monetdb5/modules/mal/mosaic.c b/monetdb5/modules/mal/mosaic.c
--- a/monetdb5/modules/mal/mosaic.c
+++ b/monetdb5/modules/mal/mosaic.c
@@ -254,10 +254,6 @@ MOScompressInternal(Client cntxt, int *r
        // use a size overshoot. Also be aware of possible dictionary headers
        //if (inplace)
        bsrc = BATcopy(bcompress, bcompress->htype, bcompress->ttype, 
TRUE,TRANSIENT);
-       if( !inplace)
-               bsrc = BATextend(bsrc, BATgrows(bsrc)+MosaicHdrSize);
-       else
-               bcompress = BATextend(bcompress, 
BATgrows(bcompress)+MosaicHdrSize);
 
        if (bsrc == NULL) {
                BBPreleaseref(bcompress->batCacheid);
@@ -300,6 +296,11 @@ MOScompressInternal(Client cntxt, int *r
                }
        } else {
                // initialize local compressed copy
+               bsrc = BATextend(bsrc, BATgrows(bsrc)+MosaicHdrSize);
+               if( bsrc == NULL){
+                       BBPreleaseref(bcompress->batCacheid);
+                       throw(MAL,"mosaic.compress", MAL_MALLOC_FAIL);
+               }
                task->src = Tloc(bcompress, BUNfirst(bcompress));
                task->elm = BATcount(bcompress);
                task->stop = BATcount(bsrc);
@@ -461,10 +462,12 @@ MOScompressInternal(Client cntxt, int *r
        // TODO
 
        if( inplace){
+               bcompress->batDirty = 1;
                bcompress->T->heap.dirty = 1;
                bcompress->T->heap.free = (size_t) (task->dst - 
Tloc(bcompress,BUNfirst(bcompress)) );
                bcompress->T->heap.compressed= 1;
                MCexitMaintenance(cntxt);
+               BATsave(bcompress);
                BBPkeepref(*ret = bcompress->batCacheid);
                BBPreleaseref(bsrc->batCacheid);
        } else {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to