Changeset: d39345b83ae7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d39345b83ae7
Modified Files:
monetdb5/extras/bwd/operations.c
Branch: bwd
Log Message:
* projecting strings correctly now (didn't propagate the string heap properly)
Unterschiede (41 Zeilen):
diff --git a/monetdb5/extras/bwd/operations.c b/monetdb5/extras/bwd/operations.c
--- a/monetdb5/extras/bwd/operations.c
+++ b/monetdb5/extras/bwd/operations.c
@@ -389,8 +389,8 @@ str BWDLeftJoinRefine(bat * res, bat * l
BAT* refinement = NULL;
BAT* approximation = BATdescriptor(*approx);
str result = MAL_SUCCEED;
- const size_t approximationBits =
batTailApproximationBits(right);
- const size_t offsetBits = batTailOffsetBits(right);
+ const size_t approximationBits =
batTailApproximationBits(approximation);
+ const size_t offsetBits = batTailOffsetBits(approximation);
if(0) printf ("%s left bat (%d) is of type [%s%s, %s%s]\n",
__func__, left->batCacheid, typeNames[BAThtype(left)], BAThvoid(left)?"
(void)":"", typeNames[BATttype(left)], BATtvoid(left)?" (void)":"");
@@ -502,7 +502,9 @@ str BWDLeftJoinRefine(bat * res, bat * l
assert(right->T->vheap->parentid > 0);
BBPshare(right->T->vheap->parentid);
refinement->T->vheap = right->T->vheap;
- }
+ } else {
+ HEAPcopy(refinement->T->vheap,
right->T->vheap);
+ }
}
if(refinement)
BBPkeepref(*res =
refinement->batCacheid);
@@ -1781,15 +1783,11 @@ str BWDGroupRefine(int *rethisto, int *r
{
BAT *approximationrethisto = BATdescriptor(*apprrethisto);
BAT *approximationretbid = BATdescriptor(*apprretbid);
- /* BBPincref(*retbid =
materializeBATInHostMemory(approximationretbid)->batCacheid, 1); */
- /* BBPincref(*rethisto =
materializeBATInHostMemory(approximationrethisto)->batCacheid, 1); */
BBPkeepref(*retbid =
materializeBATInHostMemory(approximationretbid)->batCacheid);
BBPkeepref(*rethisto =
materializeBATInHostMemory(approximationrethisto)->batCacheid);
BBPreleaseref(approximationrethisto->batCacheid);
BBPreleaseref(approximationretbid->batCacheid);
}
- /* BBPincref(*rethisto = *apprrethisto, 1); */
- /* BBPincref(*retbid = *apprretbid, 1); */
return MAL_SUCCEED;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list