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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list