Changeset: f0422a416e8a for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f0422a416e8a Removed Files: monetdb5/mal/Tests/tst225.mal monetdb5/mal/Tests/tst225.stable.err monetdb5/mal/Tests/tst225.stable.out Modified Files: monetdb5/mal/Tests/All monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/batExtensions.h monetdb5/modules/mal/batExtensions.mal Branch: default Log Message:
Clean out old code setting garbage should not be done explicitly. diffs (truncated from 313 to 300 lines): diff --git a/monetdb5/mal/Tests/All b/monetdb5/mal/Tests/All --- a/monetdb5/mal/Tests/All +++ b/monetdb5/mal/Tests/All @@ -112,7 +112,6 @@ tst201 tst202 tst210 tst220 -tst225 tst230 tst231 tst232 diff --git a/monetdb5/mal/Tests/tst225.mal b/monetdb5/mal/Tests/tst225.mal deleted file mode 100644 --- a/monetdb5/mal/Tests/tst225.mal +++ /dev/null @@ -1,9 +0,0 @@ -#testing reference counting inliners -a:= bat.new(:oid,:int); -a:= bat.insert(a,1@0,1); -b:= algebra.copy(a); -z:= batcalc.+(a,b,1); -io.print(a); -bat.setGarbage(b); -bat.setGarbage(a); -z:= batcalc.+(a,b,1); diff --git a/monetdb5/mal/Tests/tst225.stable.err b/monetdb5/mal/Tests/tst225.stable.err deleted file mode 100644 --- a/monetdb5/mal/Tests/tst225.stable.err +++ /dev/null @@ -1,12 +0,0 @@ -stderr of test 'tst225` in directory 'mal` itself: - - -# 22:38:29 > -# 22:38:29 > Mtimeout -timeout 60 Mserver "--config=/ufs/mk/monet5/src/mal/Tests/All.conf" --debug=10 --set "monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB" --set "gdk_dbfarm=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/log" --set mapi_port=48313 --set sql_port=59492 --set monet_prompt= --trace "--config=/ufs/mk/monet5/src/mal/Tests/All.conf" --dbname=mTests_src_mal tst225.mal </dev/null -# 22:38:29 > - - -# 22:38:29 > -# 22:38:29 > Done. -# 22:38:29 > - diff --git a/monetdb5/mal/Tests/tst225.stable.out b/monetdb5/mal/Tests/tst225.stable.out deleted file mode 100644 --- a/monetdb5/mal/Tests/tst225.stable.out +++ /dev/null @@ -1,47 +0,0 @@ -stdout of test 'tst225` in directory 'mal` itself: - - -# 09:19:30 > -# 09:19:30 > Mtimeout -timeout 60 mserver5 "--config=/ufs/mk/monet5/Linux/etc/MonetDB5.conf" --debug=10 --set "monet_mod_path=/ufs/mk/monet5/Linux/lib64/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib64/MonetDB" --set "gdk_dbfarm=/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/monet5/Linux/var/MonetDB5/dblogs" --set mapi_port=35606 --set monet_prompt= --trace --dbname=mTests_src_mal tst225.mal < /dev/null -# 09:19:30 > - -# MonetDB Server v4.99.19 -# Copyright (c) 1993-2006 CWI, all rights reserved -# Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs dynamically linked -# config:/ufs/mk/monet5/Linux/etc/MonetDB5.conf -# dbfarm:/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm -# dbname:mTests_src_mal -# Visit http://monetdb.cwi.nl/ for further information -##testing reference counting inliners -#a:= bat.new(:int,:int); -#bat.insert(a,1,1); -#b:= algebra.copy(a); -#z:= batcalc.+(a,a,b); -#io.print(a); -#bat.setGarbage(b); -#bat.setGarbage(a); -#z:= batcalc.+(a,a,b); -# -function user.main():void; -#testing reference counting inliners - a := bat.new(:oid,:int); - a := bat.insert(a,1@0,1); - b := algebra.copy(a); - z := batcalc.+(a,b,1); - io.print(a); - bat.setGarbage(b); - bat.setGarbage(a); - z := batcalc.+(a,b,1); -end main; -#-----------------# -# h t # name -# int int # type -#-----------------# -[ 1@0, 2 ] -!MALException:batcalc.+:Object not found - - -# 08:58:54 > -# 08:58:54 > Done. -# 08:58:54 > - diff --git a/monetdb5/modules/mal/batExtensions.c b/monetdb5/modules/mal/batExtensions.c --- a/monetdb5/modules/mal/batExtensions.c +++ b/monetdb5/modules/mal/batExtensions.c @@ -32,77 +32,6 @@ * access the runtime stack to (push)pull the values needed. */ #include "batExtensions.h" -/* - * @- Operator implementation - * A BAT designated as garbage can be removed, provided we - * do not keep additional references in the stack frame - * Be careful here not to remove persistent BATs. - * Note that we clear the dirty bit to ensure that - * the BAT is not written back to store before being freed. - */ -str -CMDBATsetGarbage(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) -{ - int *bid; - BAT *b; - - (void) mb; - (void) cntxt; - bid = (int *) getArgReference(stk, pci, 1); - if ((b = BATdescriptor(*bid)) == NULL) - throw(MAL, "bat.setGarbage", INTERNAL_BAT_ACCESS); - - b->batDirty= FALSE; - BBPunfix(b->batCacheid); - if (*bid) - BBPdecref(*bid,TRUE); - *bid = 0; - return MAL_SUCCEED; -} - -str -CMDBATflush(int *ret, int *bid) -{ - BAT *b; - - if ((b = BATdescriptor(*bid)) == NULL) - throw(MAL, "bat.flush", INTERNAL_BAT_ACCESS); - - /* use memory advice to release the BAT */ - /* TO BE PROVIDED */ - BBPunfix(b->batCacheid); - if (*bid) - BBPdecref(*bid,TRUE); - *ret = 0; - return MAL_SUCCEED; -} - -str -CMDBATreduce(int *ret, int *bid) -{ - BAT *b; - int old= GDKdebug; - - if ((b = BATdescriptor(*bid)) == NULL) - throw(MAL, "bat.reduce", INTERNAL_BAT_ACCESS); - - /* reduce memory footprint by dropping hashes - of non-persistent bats */ - if( !isVIEW(b) && b->batSharecnt==0){ -#ifdef TRACE_ADVICE - if(b->hhash) - printf("found hhash %s " SZFMT "\n",BBP_logical(b->batCacheid), (size_t) BATcount(b) * sizeof(BUN)); - if(b->thash) - printf("found thash %s " SZFMT "\n",BBP_logical(b->batCacheid), (size_t) BATcount(b) * sizeof(BUN)); -#endif - /* disable DeadBeef production */ - GDKdebug &= ~DEADBEEFMASK; - HASHdestroy(b); - } - BBPkeepref(*ret=b->batCacheid); - GDKdebug = old; - return MAL_SUCCEED; -} /* * @+ BAT enhancements @@ -315,33 +244,6 @@ CMDBBPprojectNil(int *ret, int *bid) throw(MAL, "bat.project", INTERNAL_OBJ_CREATE); } -str -CMDbatunpack(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) -{ - BAT *b; - int bid; - BUN p; - ValPtr head, tail; - - (void) cntxt; - bid = *(int *) getArgReference(stk, pci, 2); - - if ((b = BATdescriptor(bid)) == NULL) { - throw(MAL, "bat.unpack", INTERNAL_BAT_ACCESS); - } - - head = getArgReference(stk,pci,0); - tail = getArgReference(stk,pci,1); - p = BUNfirst(b); - if (p < BUNlast(b)) { - BATiter bi = bat_iterator(b); - VALinit(head, getArgType(mb, pci, 0), BUNhead(bi, p)); - VALinit(tail, getArgType(mb, pci, 1), BUNtail(bi, p)); - } - - BBPunfix(b->batCacheid); - return MAL_SUCCEED; -} /* * @- * If the optimizer has not determined the partition bounds we derive one here. @@ -433,51 +335,6 @@ CMDbatpartition2(Client cntxt, MalBlkPtr } str -CMDbatpack(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) -{ - BAT *b; - int *ret; - int ht, tt; - BUN cap = 0; - - (void) cntxt; - ht = getArgType(mb, pci, 1); - tt = getArgType(mb, pci, 2); - ret = (int *) getArgReference(stk, pci, 0); - - if (ht == TYPE_any || tt == TYPE_any) - throw(MAL, "bat.pack", SEMANTIC_TYPE_ERROR); - if (isaBatType(ht)) - ht = TYPE_bat; - if (isaBatType(tt)) - tt = TYPE_bat; - b = BATnew(ht, tt, cap); - BUNins(b, (ptr) getArgReference(stk, pci, 1), getArgReference(stk, pci, 2), FALSE); - if (!(b->batDirty&2)) b = BATsetaccess(b, BAT_READ); - *ret = b->batCacheid; - BBPkeepref(*ret); - return MAL_SUCCEED; -} -str -CMDbatsingleton(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) -{ - int *ret = (int*) getArgReference(stk,pci,0); - BAT *b; - oid o = 0; - (void) cntxt; - - b= BATnew(TYPE_oid, getArgType(mb,pci,1), BATTINY); - if ( b == NULL) - throw(MAL, "bat.pack", MAL_MALLOC_FAIL); - BATseqbase(b,o); - BUNins(b, &o, getArgReference(stk,pci,1), FALSE); - - *ret = b->batCacheid; - BBPkeepref(*ret); - return MAL_SUCCEED; -} - -str CMDsetBase(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { int i; diff --git a/monetdb5/modules/mal/batExtensions.h b/monetdb5/modules/mal/batExtensions.h --- a/monetdb5/modules/mal/batExtensions.h +++ b/monetdb5/modules/mal/batExtensions.h @@ -36,9 +36,6 @@ #define be_export extern #endif -be_export str CMDBATsetGarbage(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); -be_export str CMDBATflush(int *res, int *bid); -be_export str CMDBATreduce(int *ret, int *bid); be_export str CMDBATclone(Client cntxt, MalBlkPtr m, MalStkPtr s, InstrPtr p); be_export str CMDBATnew(Client cntxt, MalBlkPtr m, MalStkPtr s, InstrPtr p); be_export str CMDBATnewDerived(Client cntxt, MalBlkPtr m, MalStkPtr s, InstrPtr p); @@ -46,11 +43,8 @@ be_export str CMDBATderivedByName(int *r be_export str CMDBATnewint(Client cntxt, MalBlkPtr m, MalStkPtr s, InstrPtr p); be_export str CMDBBPproject(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); be_export str CMDBBPprojectNil(int *ret, int *bid); -be_export str CMDbatunpack(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); be_export str CMDbatpartition(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); be_export str CMDbatpartition2(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); -be_export str CMDbatpack(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); -be_export str CMDbatsingleton(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); be_export str CMDsetBase(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); be_export str CMDgetHead(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); diff --git a/monetdb5/modules/mal/batExtensions.mal b/monetdb5/modules/mal/batExtensions.mal --- a/monetdb5/modules/mal/batExtensions.mal +++ b/monetdb5/modules/mal/batExtensions.mal @@ -42,21 +42,11 @@ command bat.new(nme:str):bat[:any_1,:any address CMDBATderivedByName comment "Localize a bat by name and produce a clone."; -command bat.reduce(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] -address CMDBATreduce -comment "Drop auxillary BAT structures."; -command bat.flush(b:bat[:any_1,:any_2]):void -address CMDBATflush -comment "Designate a BAT as not needed anymore."; -pattern bat.setGarbage(b:bat[:any_1,:any_2]):void _______________________________________________ Checkin-list mailing list [email protected] http://mail.monetdb.org/mailman/listinfo/checkin-list
