Changeset: fc5c96451897 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fc5c96451897
Modified Files:
        monetdb5/modules/mal/Tests/mosaic_runlength_joins.mal
        monetdb5/modules/mal/Tests/mosaic_runlength_joins.stable.out
        monetdb5/modules/mal/mosaic.c
Branch: mosaic
Log Message:

Fix join calls


diffs (72 lines):

diff --git a/monetdb5/modules/mal/Tests/mosaic_runlength_joins.mal 
b/monetdb5/modules/mal/Tests/mosaic_runlength_joins.mal
--- a/monetdb5/modules/mal/Tests/mosaic_runlength_joins.mal
+++ b/monetdb5/modules/mal/Tests/mosaic_runlength_joins.mal
@@ -8,7 +8,7 @@ bat.append(b,9);
 b:= bat.append(b,b);
 
 io.print(b);
-x:= mosaic.compress(b,"runtime");
+x:= mosaic.compress(b,"runlength");
 
 c:= bat.new(:oid,:oid);
 bat.append(c,0@0);
diff --git a/monetdb5/modules/mal/Tests/mosaic_runlength_joins.stable.out 
b/monetdb5/modules/mal/Tests/mosaic_runlength_joins.stable.out
--- a/monetdb5/modules/mal/Tests/mosaic_runlength_joins.stable.out
+++ b/monetdb5/modules/mal/Tests/mosaic_runlength_joins.stable.out
@@ -27,7 +27,7 @@ function user.main():void;
     bat.append(b,9);
     b := bat.append(b,b);
     io.print(b);
-    x := mosaic.compress(b,"runtime");
+    x := mosaic.compress(b,"runlength");
     c := bat.new(:oid,:oid);
     bat.append(c,0@0);
     bat.append(c,2@0);
diff --git a/monetdb5/modules/mal/mosaic.c b/monetdb5/modules/mal/mosaic.c
--- a/monetdb5/modules/mal/mosaic.c
+++ b/monetdb5/modules/mal/mosaic.c
@@ -207,10 +207,6 @@ MOScompressInternal(Client cntxt, int *r
                } else
                        dictsize = 2;
        }
-       if (flg == 0){
-               BBPkeepref(*ret = *bid);
-               return msg;     // don't compress at all
-       }
 
        if ((b = BATdescriptor(*bid)) == NULL)
                throw(MAL, "mosaic.compress", INTERNAL_BAT_ACCESS);
@@ -234,6 +230,10 @@ MOScompressInternal(Client cntxt, int *r
                BBPkeepref(*ret = b->batCacheid);
                return msg;
        }
+       if (flg == 0){
+               BBPkeepref(*ret = b->batCacheid);
+               return msg;     // don't compress at all
+       }
 
        if (b->T->heap.compressed) {
                BBPkeepref(*ret = b->batCacheid);
@@ -1057,7 +1057,7 @@ str MOSleftfetchjoin(Client cntxt, MalBl
 str
 MOSjoin(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
-       int *ret,*lid,*rid;
+       int *ret, *ret2,*lid,*rid;
        int part, nrofparts;
        int startblk,stopblk;
        BAT  *bl = NULL, *br = NULL, *bln = NULL, *brn= NULL;
@@ -1069,11 +1069,12 @@ MOSjoin(Client cntxt, MalBlkPtr mb, MalS
        (void) cntxt;
        (void) mb;
        ret = (int*) getArgReference(stk,pci,0);
+       ret2 = (int*) getArgReference(stk,pci,1);
        lid = (int*) getArgReference(stk,pci,2);
        rid = (int*) getArgReference(stk,pci,3);
 
        if( !isCompressed(*lid) && !isCompressed(*rid))
-               return ALGjoin(ret,lid,rid);
+               return ALGjoin2(ret,ret2,lid,rid);
 
        bl = BATdescriptor(*(int*) getArgReference(stk,pci,2));
        if( bl == NULL)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to