Changeset: 6a64d50ec5c7 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6a64d50ec5c7
Modified Files:
        clients/Tests/exports.stable.out
        gdk/ChangeLog
        gdk/gdk.h
        gdk/gdk_join_legacy.c
Branch: default
Log Message:

Removed BATjoin.


diffs (176 lines):

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
@@ -137,7 +137,6 @@ gdk_return BAThash(BAT *b, BUN masksize)
 gdk_return BATimprints(BAT *b);
 gdk_return BATins(BAT *b, BAT *c, bit force);
 BAT *BATintersectcand(BAT *a, BAT *b);
-BAT *BATjoin(BAT *l, BAT *r, BUN estimate);
 gdk_return BATkey(BAT *b, int onoff);
 BAT *BATmark(BAT *b, oid base);
 BAT *BATmark_grp(BAT *b, BAT *g, const oid *base);
diff --git a/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -2,6 +2,7 @@
 # This file is updated with Maddlog
 
 * Wed Sep 16 2015 Sjoerd Mullender <sjo...@acm.org>
+- Removed BATjoin.  Use BATsubjoin instead.
 - Removed BATleftjoin.  Use BATsubleftjoin or BATproject instead.
 - Removed BATleftfetchjoin.  Use BATproject instead.
 - Removed BUNins from the list of exported functions.
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -3065,9 +3065,7 @@ gdk_export void BATsetprop(BAT *b, int i
  * @- BAT relational operators
  *  @multitable @columnfractions 0.08 0.7
  * @item BAT *
- * @tab BATjoin (BAT *l, BAT *r, BUN estimate)
- * @item BAT *
- * @tab BATsemijoin (BAT *l, BAT *r)
+  * @tab BATsemijoin (BAT *l, BAT *r)
  * @item BAT *
  * @tab BATselect (BAT *b, ptr tl, ptr th)
  * @item BAT *
@@ -3085,10 +3083,8 @@ gdk_export void BATsetprop(BAT *b, int i
  * Interpretation of a NULL argument depends on the position, i.e. a
  * domain lower or upper bound.
  *
- * 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 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 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 join can produce an arbitrarily large result and choke
@@ -3117,7 +3113,6 @@ gdk_export BAT *BATselect(BAT *b, const 
 gdk_export BAT *BATconstant(int tt, const void *val, BUN cnt, int role);
 gdk_export BAT *BATconst(BAT *l, int tt, const void *val, int role);
 gdk_export BAT *BATsemijoin(BAT *l, BAT *r);
-gdk_export BAT *BATjoin(BAT *l, BAT *r, BUN estimate);
 gdk_export gdk_return BATcross1(BAT **r1p, BAT **r2p, BAT *l, BAT *r);
 gdk_export gdk_return BATsubcross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT 
*sl, BAT *sr);
 
@@ -3202,17 +3197,6 @@ gdk_export BAT *BATsample(BAT *b, BUN n)
                BATsemijoin(_l, _r);                                    \
        })
 
-#define BATjoin(l, r, estimate)                                                
\
-       ({                                                              \
-               BAT *_l = (l), *_r = (r);                               \
-               HEADLESSDEBUG fprintf(stderr,                           \
-                       "#BATjoin([%s,%s]#"BUNFMT",[%s,%s]#"BUNFMT") 
%s[%s:%d]\n", \
-                       _COL_TYPE(_l->H), _COL_TYPE(_l->T), BATcount(_l), \
-                       _COL_TYPE(_r->H), _COL_TYPE(_r->T), BATcount(_r), \
-                       __func__, __FILE__, __LINE__);                  \
-               BATjoin(_l, _r, (estimate));                            \
-       })
-
 #endif
 #endif
 
diff --git a/gdk/gdk_join_legacy.c b/gdk/gdk_join_legacy.c
--- a/gdk/gdk_join_legacy.c
+++ b/gdk/gdk_join_legacy.c
@@ -13,7 +13,6 @@
 /* This file contains the legacy interface to the join functions */
 
 #undef BATsemijoin
-#undef BATjoin
 
 /* Return a subset of l where head elements occur as head element in r. */
 BAT *
@@ -101,89 +100,3 @@ BATsemijoin(BAT *l, BAT *r)
        BBPunfix(res2->batCacheid);
        return bn;
 }
-
-static BAT *
-do_batjoin(BAT *l, BAT *r, BUN estimate,
-          gdk_return (*joinfunc)(BAT **, BAT **, BAT *, BAT *, BAT *, BAT *,
-                                 int, BUN),
-
-          const char *name)
-{
-       BAT *lmap, *rmap;
-       BAT *res1, *res2;
-       BAT *bn;
-       gdk_return ret;
-
-       ALGODEBUG fprintf(stderr, "#Legacy %s(l=%s#"BUNFMT"[%s,%s]%s%s%s,"
-                         "r=%s#" BUNFMT "[%s,%s]%s%s%s)\n", name,
-                         BATgetId(l), BATcount(l),
-                         ATOMname(l->htype), ATOMname(l->ttype),
-                         BAThdense(l) ? "-hdense" : "",
-                         l->tsorted ? "-sorted" : "",
-                         l->trevsorted ? "-revsorted" : "",
-                         BATgetId(r), BATcount(r),
-                         ATOMname(r->htype), ATOMname(r->ttype),
-                         BAThdense(r) ? "-hdense" : "",
-                         r->tsorted ? "-sorted" : "",
-                         r->trevsorted ? "-revsorted" : "");
-       r = BATmirror(r);
-       /* r is [any_3,any_2] */
-       if (!BAThdense(l) || !BAThdense(r)) {
-               /* l is [any_1,any_2] */
-               lmap = BATmirror(BATmark(l, 0));
-               /* lmap is [dense1,any_1] */
-               l = BATmirror(BATmark(BATmirror(l), 0));
-               /* l is [dense1,any_2] */
-               /* r is [any_3,any_2] */
-               rmap = BATmirror(BATmark(r, 0));
-               /* rmap is [dense2,any_3] */
-               r = BATmirror(BATmark(BATmirror(r), 0));
-               /* r is [dense2,any_2] */
-       } else {
-               /* l is [dense1,any_2] */
-               lmap = NULL;
-               BBPfix(l->batCacheid);
-               /* r is [dense2,any_2] */
-               rmap = NULL;
-               BBPfix(r->batCacheid);
-       }
-       ret = (*joinfunc)(&res1, &res2, l, r, NULL, NULL, 0, estimate);
-       if (ret != GDK_SUCCEED) {
-               BBPunfix(l->batCacheid);
-               BBPunfix(r->batCacheid);
-               if (lmap)
-                       BBPunfix(lmap->batCacheid);
-               if (rmap)
-                       BBPunfix(rmap->batCacheid);
-               return NULL;
-       }
-       if (lmap) {
-               bn = BATproject(res1, lmap);
-               BBPunfix(res1->batCacheid);
-               BBPunfix(lmap->batCacheid);
-               res1 = bn;
-               /* res1 is [dense,any_1] */
-               lmap = NULL;
-               bn = BATproject(res2, rmap);
-               BBPunfix(res2->batCacheid);
-               BBPunfix(rmap->batCacheid);
-               res2 = bn;
-               /* res2 is [dense,any_3] */
-               rmap = NULL;
-       }
-       bn = VIEWcreate(BATmirror(res1), res2);
-       /* bn is [any_1,any_3] */
-       BBPunfix(l->batCacheid);
-       BBPunfix(r->batCacheid);
-       BBPunfix(res1->batCacheid);
-       BBPunfix(res2->batCacheid);
-       return bn;
-}
-
-/* join [any_1,any_2] with [any_2,any_3], return [any_1,any_3] */
-BAT *
-BATjoin(BAT *l, BAT *r, BUN estimate)
-{
-       return do_batjoin(l, r, estimate,
-                         BATsubjoin, "BATjoin");
-}
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to