Changeset: 6c055a40a7f1 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6c055a40a7f1
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/algebra.h
        monetdb5/modules/kernel/algebra.mal
Branch: default
Log Message:

Make BATsubsemijoin available to the MAL level as algebra.subsemijoin.


diffs (83 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -2433,6 +2433,10 @@ command algebra.subthetajoin(l:bat[:oid,
 address ALGsubthetajoin;
 comment Theta join with candidate lists
 
+command 
algebra.subsemijoin(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]) 
+address ALGsubsemijoin;
+comment Semi join with candidate lists
+
 command 
algebra.subouterjoin(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]) 
 address ALGsubouterjoin;
 comment Left outer join with candidate lists
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -2944,6 +2944,10 @@ command algebra.subthetajoin(l:bat[:oid,
 address ALGsubthetajoin;
 comment Theta join with candidate lists
 
+command 
algebra.subsemijoin(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]) 
+address ALGsubsemijoin;
+comment Semi join with candidate lists
+
 command 
algebra.subouterjoin(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]) 
 address ALGsubouterjoin;
 comment Left outer join with candidate lists
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -777,6 +777,7 @@ str ALGsubouterjoin(bat *r1, bat *r2, co
 str ALGsubrangejoin(bat *r1, bat *r2, const bat *lid, const bat *rlid, const 
bat *rhid, const bat *slid, const bat *srid, const bit *li, const bit *hi, 
const lng *estimate);
 str ALGsubselect1(bat *result, const bat *bid, const void *low, const void 
*high, const bit *li, const bit *hi, const bit *anti);
 str ALGsubselect2(bat *result, const bat *bid, const bat *sid, const void 
*low, const void *high, const bit *li, const bit *hi, const bit *anti);
+str ALGsubsemijoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat 
*sl, const bat *sr, const bit *nil_matches, const lng *estimate);
 str ALGsubslice_wrd(bat *ret, const bat *bid, const wrd *start, const wrd 
*end);
 str ALGsubsort11(bat *result, const bat *bid, const bit *reverse, const bit 
*stable);
 str ALGsubsort12(bat *result, bat *norder, const bat *bid, const bit *reverse, 
const bit *stable);
diff --git a/monetdb5/modules/kernel/algebra.c 
b/monetdb5/modules/kernel/algebra.c
--- a/monetdb5/modules/kernel/algebra.c
+++ b/monetdb5/modules/kernel/algebra.c
@@ -702,6 +702,15 @@ ALGsubouterjoin(bat *r1, bat *r2, const 
 }
 
 str
+ALGsubsemijoin(bat *r1, bat *r2, const bat *lid, const bat *rid, const bat 
*slid, const bat *srid,
+                          const bit *nil_matches, const lng *estimate)
+{
+       return do_join(r1, r2, lid, rid, NULL, slid, srid, 0, NULL, NULL, 0, 0,
+                                  nil_matches, estimate,
+                                  BATsubsemijoin, NULL, NULL, NULL, 
"algebra.subsemijoin");
+}
+
+str
 ALGsubthetajoin(bat *r1, bat *r2, const bat *lid, const bat *rid, const bat 
*slid, const bat *srid,
                                const int *op, const bit *nil_matches, const 
lng *estimate)
 {
diff --git a/monetdb5/modules/kernel/algebra.h 
b/monetdb5/modules/kernel/algebra.h
--- a/monetdb5/modules/kernel/algebra.h
+++ b/monetdb5/modules/kernel/algebra.h
@@ -43,6 +43,7 @@ algebra_export str ALGselectInclusive(ba
 algebra_export str ALGsubjoin(bat *r1, bat *r2, const bat *l, const bat *r, 
const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate);
 algebra_export str ALGsubleftjoin(bat *r1, bat *r2, const bat *l, const bat 
*r, const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate);
 algebra_export str ALGsubouterjoin(bat *r1, bat *r2, const bat *l, const bat 
*r, const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate);
+algebra_export str ALGsubsemijoin(bat *r1, bat *r2, const bat *l, const bat 
*r, const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate);
 algebra_export str ALGsubthetajoin(bat *r1, bat *r2, const bat *l, const bat 
*r, const bat *sl, const bat *sr, const int *op, const bit *nil_matches, const 
lng *estimate);
 algebra_export str ALGsubbandjoin(bat *r1, bat *r2, const bat *lid, const bat 
*rid, const bat *slid, const bat *srid, const void *low, const void *high, 
const bit *li, const bit *hi, const lng *estimate);
 algebra_export str ALGsubrangejoin(bat *r1, bat *r2, const bat *lid, const bat 
*rlid, const bat *rhid, const bat *slid, const bat *srid, const bit *li, const 
bit *hi, const lng *estimate);
diff --git a/monetdb5/modules/kernel/algebra.mal 
b/monetdb5/modules/kernel/algebra.mal
--- a/monetdb5/modules/kernel/algebra.mal
+++ b/monetdb5/modules/kernel/algebra.mal
@@ -274,6 +274,10 @@ command subouterjoin(l:bat[:oid,:any_1],
 address ALGsubouterjoin
 comment "Left outer join with candidate lists";
 
+command 
subsemijoin(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (:bat[:oid,:oid],:bat[:oid,:oid])
+address ALGsubsemijoin
+comment "Semi join with candidate lists";
+
 command 
subthetajoin(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],op:int,nil_matches:bit,estimate:lng)
 (:bat[:oid,:oid],:bat[:oid,:oid])
 address ALGsubthetajoin
 comment "Theta join with candidate lists";
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to