Changeset: d11eb1be9363 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d11eb1be9363 Modified Files: gdk/gdk_bbp.mx Branch: Apr2012 Log Message:
When increffing a view, make sure the parent bats are loaded. Increffing the parent bat isn't enough since that by itself doesn't cause it to be loaded. diffs (41 lines): diff --git a/gdk/gdk_bbp.mx b/gdk/gdk_bbp.mx --- a/gdk/gdk_bbp.mx +++ b/gdk/gdk_bbp.mx @@ -2277,8 +2277,8 @@ incref(bat i, int logical, int lock) assert(!logical); if (hp) { incref(hp, 0, lock); + b = getBBPdescriptor(hp, lock); if (!bs->P.lview) { - b = getBBPdescriptor(hp, lock); bs->B.H->heap.base = b->H->heap.base + (size_t) bs->B.H->heap.base; /* if we shared the hash before, share * it again note that if the parent's @@ -2290,9 +2290,9 @@ incref(bat i, int logical, int lock) } if (tp) { incref(tp, 0, lock); + b = getBBPdescriptor(tp, lock); if (!bs->P.lview && bs->B.H != bs->B.T) { /* mirror? */ - b = getBBPdescriptor(tp, lock); bs->B.T->heap.base = b->H->heap.base + (size_t) bs->B.T->heap.base; /* if we shared the hash before, share * it again note that if the parent's @@ -2302,10 +2302,14 @@ incref(bat i, int logical, int lock) bs->B.T->hash = b->H->hash; } } - if (hvp) + if (hvp) { incref(hvp, 0, lock); - if (tvp) + (void) getBBPdescriptor(hvp, lock); + } + if (tvp) { incref(tvp, 0, lock); + (void) getBBPdescriptor(tvp, lock); + } /* done loading, release descriptor */ BBP_status_off(i, BBPLOADING, "BBPincref"); } _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list