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