Changeset: beb8d4b20374 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/beb8d4b20374
Modified Files:
monetdb5/modules/mal/pp_algebra.c
Branch: default
Log Message:
make sure we don't share if the parent isn't persistent
diffs (23 lines):
diff --git a/monetdb5/modules/mal/pp_algebra.c
b/monetdb5/modules/mal/pp_algebra.c
--- a/monetdb5/modules/mal/pp_algebra.c
+++ b/monetdb5/modules/mal/pp_algebra.c
@@ -1619,7 +1619,8 @@ LALGgroup(Client ctx, bat *rid, bat *uid
MT_lock_set(&b->theaplock);
if ((ATOMvarsized(u->ttype) && !VIEWvtparent(b)) ||
(ATOMvarsized(u->ttype) && BATcount(b) && u->tvheap->parentid !=
u->batCacheid && u->tvheap->parentid != b->tvheap->parentid) ||
- (ATOMvarsized(u->ttype) && u->twidth != b->twidth)) {
+ (ATOMvarsized(u->ttype) && u->twidth != b->twidth) ||
+ (ATOMvarsized(u->ttype) && BATcount(b) && BATcount(u) == 0 &&
u->tvheap->parentid == u->batCacheid && BBPquickdesc(VIEWvtparent(b))->batRole
!= PERSISTENT)) {
local_storage = true;
MT_lock_unset(&b->theaplock);
MT_lock_unset(&u->theaplock);
@@ -1906,7 +1907,8 @@ LALGderive(Client ctx, bat *rid, bat *ui
MT_lock_set(&b->theaplock);
if ((ATOMvarsized(u->ttype) && !VIEWvtparent(b)) ||
(ATOMvarsized(u->ttype) && BATcount(b) && u->tvheap->parentid !=
u->batCacheid && u->tvheap->parentid != b->tvheap->parentid) ||
- (ATOMvarsized(u->ttype) && u->twidth != b->twidth)) {
+ (ATOMvarsized(u->ttype) && u->twidth != b->twidth) ||
+ (ATOMvarsized(u->ttype) && BATcount(b) && BATcount(u) == 0 &&
u->tvheap->parentid == u->batCacheid && BBPquickdesc(VIEWvtparent(b))->batRole
!= PERSISTENT)) {
local_storage = true;
MT_lock_unset(&b->theaplock);
MT_lock_unset(&u->theaplock);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]