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

Use BBPfix/unfix


diffs (truncated from 444 to 300 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
@@ -124,11 +124,11 @@ MOSdump(Client cntxt, MalBlkPtr mb, MalS
        if  ((b = BATdescriptor(bid)) == NULL)
                throw(MAL,"mosaic.dump",INTERNAL_BAT_ACCESS);
        if ( !b->T->heap.compressed){
-               BBPreleaseref(bid);
+               BBPunfix(bid);
                return MAL_SUCCEED;
        }
        MOSdumpInternal(cntxt,b);
-       BBPreleaseref(bid);
+       BBPunfix(bid);
        return msg;
 }
 
@@ -214,18 +214,18 @@ MOScompressInternal(Client cntxt, bat *r
                break;
        default:
                // don't compress them
-               BBPkeepref(*ret = bcompress->batCacheid);
+               BBPfix(*ret = bcompress->batCacheid);
                return msg;
        }
 
        if (bcompress->T->heap.compressed) {
-               BBPkeepref(*ret = bcompress->batCacheid);
+               BBPfix(*ret = bcompress->batCacheid);
                return msg;     // don't compress twice
        }
 
        if ( isVIEWCOMBINE(bcompress) || BATcount(bcompress) < MIN_INPUT_COUNT 
){
                /* no need to compress */
-               BBPkeepref(*ret = bcompress->batCacheid);
+               BBPfix(*ret = bcompress->batCacheid);
                return msg;
        }
 
@@ -235,7 +235,7 @@ MOScompressInternal(Client cntxt, bat *r
        bsrc = BATcopy(bcompress, bcompress->htype, bcompress->ttype, 
TRUE,TRANSIENT);
 
        if (bsrc == NULL) {
-               BBPreleaseref(bcompress->batCacheid);
+               BBPunfix(bcompress->batCacheid);
                throw(MAL,"mosaic.compress", MAL_MALLOC_FAIL);
        }
        BATseqbase(bsrc,bcompress->hseqbase);
@@ -245,13 +245,13 @@ MOScompressInternal(Client cntxt, bat *r
                // But be prepared that a header and last block header may  be 
stored
                // use a size overshoot. Also be aware of possible dictionary 
headers
                if (BATsetaccess(bcompress, BAT_WRITE) == NULL) {
-                       BBPreleaseref(bsrc->batCacheid);
-                       BBPreleaseref(bcompress->batCacheid);
+                       BBPunfix(bsrc->batCacheid);
+                       BBPunfix(bcompress->batCacheid);
                        throw(MAL, "mosaic.compress", GDK_EXCEPTION);
                }
                bcompress = BATextend(bcompress, 
BATgrows(bcompress)+MosaicHdrSize);
                if( bcompress == NULL){
-                       BBPreleaseref(bsrc->batCacheid);
+                       BBPunfix(bsrc->batCacheid);
                        throw(MAL,"mosaic.compress", MAL_MALLOC_FAIL);
                }
                // initialize the non-compressed read pointer
@@ -269,8 +269,8 @@ MOScompressInternal(Client cntxt, bat *r
                msg = MCstartMaintenance(cntxt,1,0);
                if( msg != MAL_SUCCEED){
                        GDKfree(task);
-                       BBPreleaseref(bsrc->batCacheid);
-                       BBPreleaseref(bcompress->batCacheid);
+                       BBPunfix(bsrc->batCacheid);
+                       BBPunfix(bcompress->batCacheid);
                        throw(MAL, "mosaic.compress", "Can not claim server");
                }
        } else {
@@ -280,7 +280,7 @@ MOScompressInternal(Client cntxt, bat *r
                // Initialize local compressed copy
                bsrc = BATextend(bsrc, BATgrows(bsrc)+MosaicHdrSize);
                if( bsrc == NULL){
-                       BBPreleaseref(bcompress->batCacheid);
+                       BBPunfix(bcompress->batCacheid);
                        throw(MAL,"mosaic.compress", MAL_MALLOC_FAIL);
                }
                task->src = Tloc(bcompress, BUNfirst(bcompress));
@@ -451,8 +451,8 @@ MOScompressInternal(Client cntxt, bat *r
                bcompress->T->heap.compressed= 1;
                MCexitMaintenance(cntxt);
                BATsetaccess(bcompress, BAT_READ);
-               BBPkeepref(*ret = bcompress->batCacheid);
-               BBPreleaseref(bsrc->batCacheid);
+               BBPfix(*ret = bcompress->batCacheid);
+               BBPunfix(bsrc->batCacheid);
        } else {
                BATsetcount(bsrc,BATcount(bcompress));
                // retain the stringwidth
@@ -461,8 +461,8 @@ MOScompressInternal(Client cntxt, bat *r
                bsrc->T->heap.dirty = 1;
                bsrc->T->heap.free = (size_t) (task->dst - 
Tloc(bsrc,BUNfirst(bsrc)) );
                bsrc->T->heap.compressed= 1;
-               BBPkeepref(*ret = bsrc->batCacheid);
-               BBPreleaseref(bcompress->batCacheid);
+               BBPfix(*ret = bsrc->batCacheid);
+               BBPunfix(bcompress->batCacheid);
        }
        task->factor = task->hdr->factor = (task->xsize ==0 ? 
0:(flt)task->size/task->xsize);
 #ifdef _DEBUG_MOSAIC_
@@ -518,30 +518,30 @@ MOSdecompressInternal(Client cntxt, bat 
                throw(MAL, "mosaic.decompress", INTERNAL_BAT_ACCESS);
 
        if (!b->T->heap.compressed) {
-               BBPkeepref(*ret = b->batCacheid);
+               BBPfix(*ret = b->batCacheid);
                return MAL_SUCCEED;
        }
        if (isVIEWCOMBINE(b)) {
-               BBPreleaseref(b->batCacheid);
+               BBPunfix(b->batCacheid);
                throw(MAL, "mosaic.decompress", "cannot decompress 
VIEWCOMBINE");
        }
        if (b->T->heap.compressed && VIEWtparent(b)) {
-               BBPreleaseref(b->batCacheid);
+               BBPunfix(b->batCacheid);
                throw(MAL, "mosaic.decompress", "cannot decompress tail-VIEW");
        }
 
        // use a copy to ensure you get the vheap as well
        bsrc = BATcopy(b,b->htype,b->ttype,TRUE, TRANSIENT);
        if ( bsrc == NULL) {
-               BBPreleaseref(b->batCacheid);
+               BBPunfix(b->batCacheid);
                throw(MAL, "mosaic.decompress", MAL_MALLOC_FAIL);
        }
        BATseqbase(bsrc,b->hseqbase);
 
        task= (MOStask) GDKzalloc(sizeof(*task));
        if( task == NULL){
-               BBPreleaseref(b->batCacheid);
-               BBPreleaseref(bsrc->batCacheid);
+               BBPunfix(b->batCacheid);
+               BBPunfix(bsrc->batCacheid);
                throw(MAL, "mosaic.decompress", MAL_MALLOC_FAIL);
        }
        if(inplace) {
@@ -549,8 +549,8 @@ MOSdecompressInternal(Client cntxt, bat 
                msg = MCstartMaintenance(cntxt,1,0);
                if( msg != MAL_SUCCEED){
                        GDKfree(msg);
-                       BBPreleaseref(b->batCacheid);
-                       BBPreleaseref(bsrc->batCacheid);
+                       BBPunfix(b->batCacheid);
+                       BBPunfix(bsrc->batCacheid);
                        throw(MAL, "mosaic.decompress", "Can not claim server");
                }
 
@@ -641,8 +641,8 @@ MOSdecompressInternal(Client cntxt, bat 
                b->T->heap.compressed= 0;
 
                MCexitMaintenance(cntxt);
-               BBPreleaseref(bsrc->batCacheid);
-               BBPkeepref( *ret = b->batCacheid);
+               BBPunfix(bsrc->batCacheid);
+               BBPfix( *ret = b->batCacheid);
        } else {
                BATsetcount(bsrc,BATcount(b));
                bsrc->batDirty = 1;
@@ -655,8 +655,8 @@ MOSdecompressInternal(Client cntxt, bat 
         bsrc->hkey = 1;
         BATderiveProps(bsrc,0);
 
-               BBPreleaseref(b->batCacheid);
-               BBPkeepref( *ret = bsrc->batCacheid);
+               BBPunfix(b->batCacheid);
+               BBPfix( *ret = bsrc->batCacheid);
        }
        if( task->hdr->checksum.sumlng != task->hdr->checksum2.sumlng)
                mnstr_printf(cntxt->fdout,"#incompatible compression\n");
@@ -694,7 +694,7 @@ isCompressed(bat bid)
                return 0;
        b = BATdescriptor(bid);
        r = b->T->heap.compressed;
-       BBPreleaseref(bid);
+       BBPunfix(bid);
        return r;
 }
 
@@ -769,7 +769,7 @@ MOSsubselect(Client cntxt, MalBlkPtr mb,
 
        task= (MOStask) GDKzalloc(sizeof(*task));
        if( task == NULL){
-               BBPreleaseref(b->batCacheid);
+               BBPunfix(b->batCacheid);
                throw(MAL, "mosaic.subselect", RUNTIME_OBJECT_MISSING);
        }
 
@@ -777,7 +777,7 @@ MOSsubselect(Client cntxt, MalBlkPtr mb,
        bn = BATnew(TYPE_void, TYPE_oid, BATcount(b), TRANSIENT);
        if( bn == NULL){
                GDKfree(task);
-               BBPreleaseref(b->batCacheid);
+               BBPunfix(b->batCacheid);
                throw(MAL, "mosaic.subselect", RUNTIME_OBJECT_MISSING);
        }
        task->lb = (oid*) Tloc(bn,BUNfirst(bn));
@@ -787,8 +787,8 @@ MOSsubselect(Client cntxt, MalBlkPtr mb,
        if (cid) {
                cand = BATdescriptor(*cid);
                if (cand == NULL){
-                       BBPreleaseref(b->batCacheid);
-                       BBPreleaseref(bn->batCacheid);
+                       BBPunfix(b->batCacheid);
+                       BBPunfix(bn->batCacheid);
                        GDKfree(task);
                        throw(MAL, "mosaic.subselect", RUNTIME_OBJECT_MISSING);
                }
@@ -804,7 +804,7 @@ MOSsubselect(Client cntxt, MalBlkPtr mb,
                        nrofparts = task->hdr->top;
                if( part > nrofparts){
                        *getArgReference_bat(stk, pci, 0) = bn->batCacheid;
-                       BBPkeepref(bn->batCacheid);
+                       BBPfix(bn->batCacheid);
                        GDKfree(task);
                        return MAL_SUCCEED;
                }
@@ -858,7 +858,7 @@ MOSsubselect(Client cntxt, MalBlkPtr mb,
        bn->tkey = 1;
        *getArgReference_bat(stk, pci, 0) = bn->batCacheid;
        GDKfree(task);
-       BBPkeepref(bn->batCacheid);
+       BBPfix(bn->batCacheid);
        return msg;
 }
 
@@ -901,14 +901,14 @@ str MOSthetasubselect(Client cntxt, MalB
 
        task= (MOStask) GDKzalloc(sizeof(*task));
        if( task == NULL){
-               BBPreleaseref(b->batCacheid);
+               BBPunfix(b->batCacheid);
                throw(MAL, "mosaic.thetasubselect", RUNTIME_OBJECT_MISSING);
        }
 
        // accumulator for the oids
        bn = BATnew(TYPE_void, TYPE_oid, BATcount(b), TRANSIENT);
        if( bn == NULL){
-               BBPreleaseref(b->batCacheid);
+               BBPunfix(b->batCacheid);
                throw(MAL, "mosaic.thetasubselect", RUNTIME_OBJECT_MISSING);
        }
        BATseqbase(bn,0);
@@ -919,8 +919,8 @@ str MOSthetasubselect(Client cntxt, MalB
        if (cid) {
                cand = BATdescriptor(*cid);
                if (cand == NULL){
-                       BBPreleaseref(b->batCacheid);
-                       BBPreleaseref(bn->batCacheid);
+                       BBPunfix(b->batCacheid);
+                       BBPunfix(bn->batCacheid);
                        GDKfree(task);
                        throw(MAL, "mosaic.thetasubselect", 
RUNTIME_OBJECT_MISSING);
                }
@@ -935,7 +935,7 @@ str MOSthetasubselect(Client cntxt, MalB
                if( nrofparts > task->hdr->top)
                        nrofparts = task->hdr->top;
                if( part > nrofparts){
-                       BBPkeepref(*getArgReference_bat(stk,pci,0)= 
bn->batCacheid);
+                       BBPfix(*getArgReference_bat(stk,pci,0)= bn->batCacheid);
                        GDKfree(task);
                        return MAL_SUCCEED;
                }
@@ -980,7 +980,7 @@ str MOSthetasubselect(Client cntxt, MalB
        cnt = (BUN)( task->lb - (oid*) Tloc(bn,BUNfirst(bn)));
        
        if( cid)
-               BBPreleaseref(*cid);
+               BBPunfix(*cid);
        if( bn){
                BATsetcount(bn,cnt);
                bn->hdense = 1;
@@ -990,7 +990,7 @@ str MOSthetasubselect(Client cntxt, MalB
                bn->tsorted = 1;
                bn->trevsorted = BATcount(bn) <= 1;
                bn->tkey = 1;
-               BBPkeepref(*getArgReference_bat(stk,pci,0)= bn->batCacheid);
+               BBPfix(*getArgReference_bat(stk,pci,0)= bn->batCacheid);
        }
        GDKfree(task);
        return msg;
@@ -1023,18 +1023,18 @@ str MOSleftfetchjoin(Client cntxt, MalBl
 
        br = BATdescriptor(*rid);
        if( br == NULL){
-               BBPreleaseref(*rid);
+               BBPunfix(*rid);
                throw(MAL,"mosaic.leftfetchjoin",RUNTIME_OBJECT_MISSING);
        }
        if (isVIEWCOMBINE(br)){
-               BBPreleaseref(*rid);
+               BBPunfix(*rid);
                throw(MAL,"mosaic.leftfetchjoin","compressed view");
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to