Changeset: d6ffac8bbbee for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d6ffac8bbbee
Modified Files:
        gdk/gdk_storage.c
Branch: Feb2013
Log Message:

When resizing heaps, also adjust capacity.


diffs (22 lines):

diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c
--- a/gdk/gdk_storage.c
+++ b/gdk/gdk_storage.c
@@ -620,10 +620,16 @@ BATsave(BAT *bd)
        if (err == 0) {
                bd->batCopiedtodisk = 1;
                DESCclean(bd);
-               if (bd->H->heap.storage == STORE_MMAP)
+               if (bd->H->heap.storage == STORE_MMAP) {
                        HEAPshrink(&bd->H->heap, bd->H->heap.free);
-               if (bd->T->heap.storage == STORE_MMAP)
+                       if (bd->U->capacity > bd->H->heap.size >> bd->H->shift)
+                               bd->U->capacity = bd->H->heap.size >> 
bd->H->shift;
+               }
+               if (bd->T->heap.storage == STORE_MMAP) {
                        HEAPshrink(&bd->T->heap, bd->T->heap.free);
+                       if (bd->U->capacity > bd->T->heap.size >> bd->T->shift)
+                               bd->U->capacity = bd->T->heap.size >> 
bd->T->shift;
+               }
                if (bd->H->vheap && bd->H->vheap->storage == STORE_MMAP)
                        HEAPshrink(bd->H->vheap, bd->H->vheap->free);
                if (bd->T->vheap && bd->T->vheap->storage == STORE_MMAP)
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to