Changeset: 14c0dc036c31 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=14c0dc036c31
Modified Files:
        monetdb5/extras/bwd/operations.c
Branch: bwd
Log Message:

* materializing single attribute groupings as well


Unterschiede (49 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
@@ -1510,6 +1510,7 @@ str BWDGroupApproximate(int *rethisto, i
                                                                                
        newHead, newTail}[i]
                                                                        )))) 
printf("#%s, clSetKernelArg(%d): %s;\n", __func__, i, clError(err));
                                }
+                               printf ("%u\n", histogramSize);
                                if((err = 
bwdEnqueueNDRangeKernel(getCommandQueue(), compactKernel, 1, (const 
size_t[]){0}, (const size_t[]){histogramSize}, (const size_t[]){2}, 0, NULL, 
NULL)))
                                        printf("#%s, clEnqueueNDRangeKernel: 
%s, %s:%u;\n", __func__, clError(err), __FILE__, __LINE__);
                                if (synchronousGPU) clFinish(getCommandQueue());
@@ -1676,12 +1677,6 @@ str BWDMulticolumnGroupApproximate(Clien
        return result;
 }
 
-str BWDGroupRefine(int *rethisto, int *retbid, int *bid, int *apprrethisto, 
int *apprretbid){
-       BBPincref(*rethisto = *apprrethisto, 1);
-       BBPincref(*retbid = *apprretbid, 1);
-       return MAL_SUCCEED;
-}
-
 BAT* materializeBATInHostMemory(BAT* input){
        unsigned int count = getCount(batTailApproximation(input));
        BAT* result = BATnew(BAThtype(input), BATttype(input), count);
@@ -1713,6 +1708,24 @@ BAT* materializeBATInHostMemory(BAT* inp
        return result;
 }
 
+str BWDGroupRefine(int *rethisto, int *retbid, int *bid, int *apprrethisto, 
int *apprretbid){
+       {
+               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;
+}
+
+
+
 
 
 str BWDMulticolumnGroupRefine(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci){
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to