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