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

Modified Files:
        pf_support.mx 
Log Message:
Fix check for old page.


Index: pf_support.mx
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/pf_support.mx,v
retrieving revision 1.213
retrieving revision 1.214
diff -u -d -r1.213 -r1.214
--- pf_support.mx       19 Apr 2007 11:38:55 -0000      1.213
+++ pf_support.mx       20 Apr 2007 14:30:51 -0000      1.214
@@ -4100,7 +4100,7 @@
           {
             var pid_map_update := map_pid_update.select(oid_nil, 
oid_nil).reverse().sort().tmark([EMAIL PROTECTED]);
             var docsize;                # current size of document
-            # if the size of item 0 was changed, used the new size, else use 
the original size
+            # if the size of item 0 was changed, use the new size, else use 
the original size
             # we assume that page 0 on which item 0 is located already 
exists...
             {
               var root_rid := swizzle([EMAIL PROTECTED], pid_map_update);
@@ -4113,7 +4113,11 @@
             var nxtpre := oid(lng(pre) + size + 1), nxtrid, nxtsiz := 0;
             if (int(nxtpre) < docsize) {
               nxtrid := swizzle(nxtpre, pid_map_update);
+              var isoldpg := false;
               if (map_pid.exist(oid(lng(nxtrid) >> REMAP_PAGE_BITS))) {
+                isoldpg := not(isnil(map_pid.find(oid(lng(nxtrid) >> 
REMAP_PAGE_BITS))));
+              }
+              if (isoldpg) {
                 if (rid_size_update.exist(nxtrid)) {
                   nxtsiz := rid_size_update.find(nxtrid);
                 } else {
@@ -4127,7 +4131,11 @@
               nxtpre := oid(lng(nxtpre) + niland(nxtsiz, INT_MAX) + 1);
               if (int(nxtpre) < docsize) {
                 nxtrid := swizzle(nxtpre, pid_map_update);
+                var isoldpg := false;
                 if (map_pid.exist(oid(lng(nxtrid) >> REMAP_PAGE_BITS))) {
+                  isoldpg := not(isnil(map_pid.find(oid(lng(nxtrid) >> 
REMAP_PAGE_BITS))));
+                }
+                if (isoldpg) {
                   if (rid_size_update.exist(nxtrid)) {
                     nxtsiz := rid_size_update.find(nxtrid);
                   } else {
@@ -4143,7 +4151,11 @@
             if (int(nxtpre) < docsize) {
               var nxtknd;
               var nxtnid;
+              var isoldpg := false;
               if (map_pid.exist(oid(lng(nxtrid) >> REMAP_PAGE_BITS))) {
+                isoldpg := not(isnil(map_pid.find(oid(lng(nxtrid) >> 
REMAP_PAGE_BITS))));
+              }
+              if (isoldpg) {
                 if (rid_kind_update.exist(nxtrid)) {
                   nxtknd := rid_kind_update.find(nxtrid);
                 } else {


-------------------------------------------------------------------------
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