Update of /cvsroot/monetdb/pathfinder/runtime
In directory sc8-pr-cvs16:/tmp/cvs-serv3348

Modified Files:
        pathfinder.mx 
Log Message:
Use the new built-in function densebat instead of MIL loop.


Index: pathfinder.mx
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/pathfinder.mx,v
retrieving revision 1.354
retrieving revision 1.355
diff -u -d -r1.354 -r1.355
--- pathfinder.mx       2 May 2007 12:35:27 -0000       1.354
+++ pathfinder.mx       3 May 2007 13:27:15 -0000       1.355
@@ -2734,10 +2734,10 @@
             coll_lock_unset(ws, cont, COLL_SHORTLOCK, "ws_newpage", 
ws_logtime); 
 
             var pages_free := reverse(runtime.fetch(RT_LOCK_FREELIST));
-            var newpids := bat(void,oid);
             page_id := oid(new_pid);
-            while((new_pid :+= 1) < last_pid) newpids.append(oid(new_pid)); 
-            revert(newpids); # put in reverse order to give the pages out in 
order 
+            new_pid :+= 1;
+            # create a new [nil,oid] bat with densely descending tail values, 
ending at new_pid
+            var newpids := densebat(wrd(last_pid - 
new_pid)).seqbase(oid(new_pid)).reverse().seqbase(oid(nil)).access(BAT_WRITE).revert();
 # put in reverse order to give the pages out in order 
 
             lock_set(pf_short);
             err := CATCH(_shredlock_unset(colname, wsid));


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to