Update of /cvsroot/monetdb/MonetDB/src/gdk
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv8242/src/gdk
Modified Files:
gdk.mx gdk_rangejoin.mx
Log Message:
bandjoin now also got bounds (not checked yet)
Index: gdk.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB/src/gdk/gdk.mx,v
retrieving revision 1.244
retrieving revision 1.245
diff -u -d -r1.244 -r1.245
--- gdk.mx 3 Dec 2007 11:16:55 -0000 1.244
+++ gdk.mx 30 Dec 2007 18:04:00 -0000 1.245
@@ -3152,8 +3152,6 @@
@item BAT *
@tab BATouterjoin (BAT *l, BAT *r, size\_t estimate)
@item BAT *
[EMAIL PROTECTED] BATbandjoin (BAT *l, BAT *r, ptr c1, ptr c2)
[EMAIL PROTECTED] BAT *
@tab BATthetajoin (BAT *l, BAT *r, int mode, size\_t estimate)
@item BAT *
@tab BATsemijoin (BAT *l, BAT *r)
@@ -3193,10 +3191,8 @@
@
The @%BATjoin@ over R[A, B] and S[C, D] performs an equi-join over B
and C. It results in a BAT over A and D. The @%BATouterjoin@
-implements a left outerjoin over the BATs involved. The
[EMAIL PROTECTED]@ produces the associations [A, D] such that S.C-c1 <=
-R.b <= S.C + c2. The special case c1 = 0 and c2 = infinite leads to a
-thetajoin. The @%BATsemijoin@ over R[A, B] and S[C, D] produces the
+implements a left outerjoin over the BATs involved.
+The @%BATsemijoin@ over R[A, B] and S[C, D] produces the
subset of R[A, B] that satisfies the semijoin over A and C.
@
The full-materialization policy intermediate results in MonetDB means that a
@@ -3240,7 +3236,6 @@
gdk_export BAT *BATthetajoin(BAT *l, BAT *r, int mode, size_t estimate);
gdk_export BAT *BATleftthetajoin(BAT *l, BAT *r, int mode, size_t estimate);
gdk_export BAT *BATnlthetajoin(BAT *l, BAT *r, int mode, size_t estimate);
-gdk_export BAT *BATbandjoin(BAT *l, BAT *r, ptr c1, ptr c2); /* should
bandjoin remain in the kernel? */
gdk_export BAT *BATsemijoin(BAT *l, BAT *r);
gdk_export BAT *BATmergejoin(BAT *l, BAT *r, size_t estimate);
gdk_export BAT *BATleftmergejoin(BAT *l, BAT *r, size_t estimate);
Index: gdk_rangejoin.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB/src/gdk/gdk_rangejoin.mx,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- gdk_rangejoin.mx 21 Dec 2007 18:28:53 -0000 1.1
+++ gdk_rangejoin.mx 30 Dec 2007 18:04:00 -0000 1.2
@@ -27,8 +27,18 @@
#include "gdk.h"
[EMAIL PROTECTED] BAT range and band join operators
+@
+The @%BATbandjoin@ produces the associations [A, D] such that S.C-c1 <=
+R.b <= S.C + c2. The special case c1 = 0 and c2 = infinite leads to a
+thetajoin.
+
[EMAIL PROTECTED]
gdk_export BAT *BATrangejoin(BAT *l, BAT *rl, BAT *rh, bit li, bit hi);
-/* Join all BUNs of the BATs that have tail values: {rl <= l <= rh}. */
+/* Join all BUNs of the BATs that have tail values: {rl <= l <= rh}. */
+
+gdk_export BAT *BATbandjoin(BAT *l, BAT *r, ptr mnus, ptr plus, bit li, bit
hi);
+/* Join all BUNs of the BATs that have tail values: {r-mnus <= l <= r+plus}. */
#endif /* GDK_RANGEJOIN_H */
@c
@@ -129,13 +139,15 @@
@{
@c
BAT *
-BATbandjoin(BAT *l, BAT *r, ptr c1, ptr c2)
+BATbandjoin(BAT *l, BAT *r, ptr c1, ptr c2, bit li, bit hi)
{
BAT *bn;
ERRORcheck(l == NULL, "BATbandjoin: invalid left operand");
ERRORcheck(r == NULL, "BATbandjoin: invalid right operand");
ERRORcheck(TYPEerror(l->ttype, r->htype), "BATbandjoin: type
conflict\n");
+ (void)li;
+ (void)hi;
bn = BATnew(BAThtype(l), BAThtype(r), MIN(BATcount(l), BATcount(r)));
if (bn == NULL)
return bn;
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins