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