[Zope-Checkins] CVS: Zope2 - BTreeTemplate.c:1.9.2.9

Jim Fulton jim@digiciool.com
Mon, 12 Mar 2001 12:29:39 -0500 (EST)


Update of /cvs-repository/Zope2/lib/python/BTrees
In directory korak:/tmp/cvs-serv29959

Modified Files:
      Tag: Catalog-BTrees-Integration
	BTreeTemplate.c 
Log Message:
Fixed failure to detect changes in bucket when not storing bucket as
separate database record.



--- Updated File BTreeTemplate.c in package Zope2 --
--- BTreeTemplate.c	2001/03/04 19:27:12	1.9.2.8
+++ BTreeTemplate.c	2001/03/12 17:29:38	1.9.2.9
@@ -436,7 +436,7 @@
   if (SameType_Check(self, d->value))
     grew= _BTree_set( BTREE(d->value), keyarg, value, unique, noval);
   else
-    grew=_bucket_set(BUCKET(d->value), keyarg, value, unique, noval);
+    grew=_bucket_set(BUCKET(d->value), keyarg, value, unique, noval, &changed);
   if (grew < 0) goto err;
 
   if (grew)
@@ -526,18 +526,19 @@
               changed=1;
             }
         }
+    }
+
 #ifdef PERSISTENT
-      if (changed 
-          || (self->len == 1 
-              && ! SameType_Check(self, self->data->value)
-              && BUCKET(self->data->value)->oid == NULL
-              )
-          ) 
-        if (PER_CHANGED(self) < 0) 
-          goto err;
+  if (changed 
+      || (self->len == 1 
+          && ! SameType_Check(self, self->data->value)
+          && BUCKET(self->data->value)->oid == NULL
+          )
+      ) 
+    if (PER_CHANGED(self) < 0) 
+      goto err;
 #endif
           
-    }
   
   PER_ALLOW_DEACTIVATION(self);
   return grew;