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

Reply via email to