Changeset: f42cbf6d0a39 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f42cbf6d0a39
Modified Files:
gdk/gdk_storage.c
Branch: default
Log Message:
Merge with Jul2015 branch.
diffs (40 lines):
diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c
--- a/gdk/gdk_storage.c
+++ b/gdk/gdk_storage.c
@@ -797,20 +797,23 @@ BATsave(BAT *bd)
if (err == GDK_SUCCEED) {
bd->batCopiedtodisk = 1;
DESCclean(bd);
- if (bd->htype && bd->H->heap.storage == STORE_MMAP) {
- HEAPshrink(&bd->H->heap, bd->H->heap.free);
- if (bd->batCapacity > bd->H->heap.size >> bd->H->shift)
- bd->batCapacity = (BUN) (bd->H->heap.size >>
bd->H->shift);
+ /* see comment with BATassertProps() at the top of this
function */
+ if (BATmirror(bd)) {
+ if (bd->htype && bd->H->heap.storage == STORE_MMAP) {
+ HEAPshrink(&bd->H->heap, bd->H->heap.free);
+ if (bd->batCapacity > bd->H->heap.size >>
bd->H->shift)
+ bd->batCapacity = (BUN)
(bd->H->heap.size >> bd->H->shift);
+ }
+ if (bd->ttype && bd->T->heap.storage == STORE_MMAP) {
+ HEAPshrink(&bd->T->heap, bd->T->heap.free);
+ if (bd->batCapacity > bd->T->heap.size >>
bd->T->shift)
+ bd->batCapacity = (BUN)
(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)
+ HEAPshrink(bd->T->vheap, bd->T->vheap->free);
}
- if (bd->ttype && bd->T->heap.storage == STORE_MMAP) {
- HEAPshrink(&bd->T->heap, bd->T->heap.free);
- if (bd->batCapacity > bd->T->heap.size >> bd->T->shift)
- bd->batCapacity = (BUN) (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)
- HEAPshrink(bd->T->vheap, bd->T->vheap->free);
return GDK_SUCCEED;
}
return err;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list