Changeset: df505eb24c66 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=df505eb24c66
Added Files:
        sql/test/Users/Tests/copyinto.SQL.py
Removed Files:
        gdk/gdk_join_legacy.c
        gdk/gdk_select_legacy.c
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        gdk/ChangeLog
        gdk/Makefile.ag
        gdk/gdk.h
        gdk/gdk_align.c
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_private.h
        monetdb5/extras/rapi/Tests/rapi08.malC
        monetdb5/extras/sphinx/sphinx.c
        monetdb5/mal/Tests/tst077.mal
        monetdb5/mal/Tests/tst077.stable.out
        monetdb5/mal/Tests/tst104.mal
        monetdb5/mal/Tests/tst104.stable.out
        monetdb5/mal/Tests/tst105.mal
        monetdb5/mal/Tests/tst105.stable.out
        monetdb5/mal/Tests/tst105a.mal
        monetdb5/mal/Tests/tst105a.stable.out
        monetdb5/mal/Tests/tst106.mal
        monetdb5/mal/Tests/tst106.stable.out
        monetdb5/mal/Tests/tst150.mal
        monetdb5/mal/Tests/tst150.stable.out
        monetdb5/mal/Tests/tst220.mal
        monetdb5/mal/Tests/tst220.stable.out
        monetdb5/mal/Tests/tst233.mal
        monetdb5/mal/Tests/tst233.stable.out
        monetdb5/mal/Tests/tst234.mal
        monetdb5/mal/Tests/tst234.stable.out
        monetdb5/mal/Tests/tst750.mal
        monetdb5/mal/Tests/tst750.stable.out
        monetdb5/mal/Tests/tst755.mal
        monetdb5/mal/Tests/tst755.stable.out
        monetdb5/mal/Tests/tst760.mal
        monetdb5/mal/Tests/tst760.stable.out
        monetdb5/mal/Tests/tst770.mal
        monetdb5/mal/Tests/tst770.stable.out
        monetdb5/mal/Tests/tst802.mal
        monetdb5/mal/Tests/tst802.stable.out
        monetdb5/mal/Tests/tst908.mal
        monetdb5/mal/Tests/tst908.stable.out
        monetdb5/mal/mal_parser.c
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/algebra.h
        monetdb5/modules/kernel/batcolor.c
        monetdb5/modules/kernel/batstr.c
        monetdb5/modules/mal/Tests/remoteInit.mal
        monetdb5/modules/mal/Tests/remoteInit.stable.out
        monetdb5/modules/mal/mal_mapi.mal
        monetdb5/modules/mal/tablet.c
        monetdb5/optimizer/Tests/remap.mal
        monetdb5/optimizer/Tests/remap.stable.out
        monetdb5/optimizer/Tests/tst4630.mal
        monetdb5/optimizer/Tests/tst4630.stable.out
        monetdb5/tests/BugReports/Tests/gettype_in_function.mal
        monetdb5/tests/BugReports/Tests/gettype_in_function.stable.out
        monetdb5/tests/BugReports/Tests/no.163.mal
        monetdb5/tests/BugReports/Tests/no.163.stable.out
        sql/backends/monet5/sql.c
        sql/include/sql_catalog.h
        sql/server/rel_schema.c
        sql/server/rel_updates.c
        sql/server/sql_parser.y
        sql/server/sql_privileges.c
        sql/server/sql_privileges.h
        sql/test/Users/Tests/All
Branch: leftmart
Log Message:

Merge with default


diffs (truncated from 2563 to 300 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
@@ -38725,7 +38725,7 @@ command mapi.fetch_line(hdl:int):str
 address SERVERfetch_line;
 comment Retrieve a complete line.
 
-command mapi.fetch_field_array(hdl:int):bat[:int,:str] 
+command mapi.fetch_field_array(hdl:int):bat[:oid,:str] 
 address SERVERfetch_field_bat;
 comment Retrieve all fields for a row.
 
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
@@ -49652,7 +49652,7 @@ command mapi.fetch_line(hdl:int):str
 address SERVERfetch_line;
 comment Retrieve a complete line.
 
-command mapi.fetch_field_array(hdl:int):bat[:int,:str] 
+command mapi.fetch_field_array(hdl:int):bat[:oid,:str] 
 address SERVERfetch_field_bat;
 comment Retrieve all fields for a row.
 
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
@@ -161,9 +161,6 @@ gdk_return BATreplace(BAT *b, BAT *p, BA
 void BATroles(BAT *b, const char *hnme, const char *tnme);
 BAT *BATsample(BAT *b, BUN n);
 gdk_return BATsave(BAT *b);
-BAT *BATselect(BAT *b, const void *tl, const void *th);
-BAT *BATselect_(BAT *b, const void *tl, const void *th, bit li, bit hi);
-BAT *BATsemijoin(BAT *l, BAT *r);
 void BATseqbase(BAT *b, oid o);
 gdk_return BATsetaccess(BAT *b, int mode);
 void BATsetcapacity(BAT *b, BUN cnt);
@@ -213,7 +210,6 @@ void BBPunlock(const char *s);
 gdk_return BUNappend(BAT *b, const void *right, bit force);
 gdk_return BUNdel(BAT *b, const void *left, const void *right, bit force);
 BUN BUNdelete(BAT *b, BUN p, bit force);
-gdk_return BUNfastins(BAT *b, const void *left, const void *right);
 BUN BUNfnd(BAT *b, const void *right);
 gdk_return BUNinplace(BAT *b, BUN p, const void *left, const void *right, bit 
force);
 gdk_return BUNreplace(BAT *b, const void *left, const void *right, bit force);
@@ -730,7 +726,6 @@ str ALGrangejoin2(bat *l, bat *r, const 
 str ALGreuse(bat *ret, const bat *bid);
 str ALGsample(bat *result, const bat *bid, const int *param);
 str ALGselectNotNil(bat *result, const bat *bid);
-str ALGsemijoin(bat *result, const bat *lid, const bat *rid);
 str ALGslice(bat *ret, const bat *bid, const lng *start, const lng *end);
 str ALGslice_int(bat *ret, const bat *bid, const int *start, const int *end);
 str ALGslice_oid(bat *ret, const bat *bid, const oid *start, const oid *end);
diff --git a/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -2,6 +2,8 @@
 # This file is updated with Maddlog
 
 * Wed Sep 16 2015 Sjoerd Mullender <sjo...@acm.org>
+- Removed BATselect.  Use BATsubselect instead.
+- Removed BATsemijoin.  Use BATsubsemijoin instead.
 - Removed BATjoin.  Use BATsubjoin instead.
 - Removed BATleftjoin.  Use BATsubleftjoin or BATproject instead.
 - Removed BATleftfetchjoin.  Use BATproject instead.
diff --git a/gdk/Makefile.ag b/gdk/Makefile.ag
--- a/gdk/Makefile.ag
+++ b/gdk/Makefile.ag
@@ -13,7 +13,7 @@ lib_gdk = {
        NAME = bat
        SOURCES = \
                gdk.h gdk_cand.h gdk_atomic.h gdk_batop.c \
-               gdk_select.c gdk_select_legacy.c \
+               gdk_select.c \
                gdk_search.c gdk_search.h gdk_tm.c \
                gdk_align.c gdk_bbp.c gdk_bbp.h \
                gdk_heap.c gdk_setop.c gdk_utils.c gdk_utils.h \
@@ -27,7 +27,7 @@ lib_gdk = {
                gdk_calc.c gdk_calc.h gdk_calc_compare.h gdk_calc_private.h \
                gdk_aggr.c gdk_group.c gdk_mapreduce.c gdk_mapreduce.h \
                gdk_imprints.c gdk_imprints.h \
-               gdk_join.c gdk_join_legacy.c \
+               gdk_join.c \
                gdk_unique.c \
                gdk_firstn.c \
                bat.feps bat1.feps bat2.feps \
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1120,11 +1120,6 @@ gdk_export bte ATOMelmshift(int sz);
  * can use BUNins, BUNappend, BUNreplace, and BUNdel.  The
  * batch update operations are BATins, BATappend and BATdel.
  *
- * Only experts interested in speed may use BUNfastins, since it skips
- * most consistency checks, does not update search accelerators, and
- * does not maintain properties such as the hsorted and tsorted
- * flags. Beware!
- *
  * The routine BUNfnd provides fast access to a single BUN providing a
  * value for the tail of the binary association.
  *
@@ -1190,7 +1185,6 @@ gdk_export bte ATOMelmshift(int sz);
                        ATOMputFIX((b)->HT->type, (p), v);              \
                }                                                       \
        } while (0)
-#define Hputvalue(b, p, v, copyall)    HTputvalue(b, p, v, copyall, H)
 #define Tputvalue(b, p, v, copyall)    HTputvalue(b, p, v, copyall, T)
 #define HTreplacevalue(b, p, v, HT)                                    \
        do {                                                            \
@@ -1238,7 +1232,6 @@ gdk_export bte ATOMelmshift(int sz);
                        ATOMreplaceFIX((b)->HT->type, (p), v);          \
                }                                                       \
        } while (0)
-#define Hreplacevalue(b, p, v)         HTreplacevalue(b, p, v, H)
 #define Treplacevalue(b, p, v)         HTreplacevalue(b, p, v, T)
 #define HTfastins_nocheck(b, p, v, s, HT)                      \
        do {                                                    \
@@ -1246,36 +1239,8 @@ gdk_export bte ATOMelmshift(int sz);
                (b)->HT->heap.free += (s);                      \
                HTputvalue((b), HT##loc((b), (p)), (v), 0, HT); \
        } while (0)
-#define hfastins_nocheck(b, p, v, s)   HTfastins_nocheck(b, p, v, s, H)
 #define tfastins_nocheck(b, p, v, s)   HTfastins_nocheck(b, p, v, s, T)
 
-#define bunfastins_nocheck(b, p, h, t, hs, ts)         \
-       do {                                            \
-               hfastins_nocheck(b, p, h, hs);          \
-               tfastins_nocheck(b, p, t, ts);          \
-               (b)->batCount++;                        \
-       } while (0)
-
-#define bunfastins_nocheck_inc(b, p, h, t)                             \
-       do {                                                            \
-               bunfastins_nocheck(b, p, h, t, Hsize(b), Tsize(b));     \
-               p++;                                                    \
-       } while (0)
-
-#define bunfastins(b, h, t)                                            \
-       do {                                                            \
-               register BUN _p = BUNlast(b);                           \
-               if (_p >= BATcapacity(b)) {                             \
-                       if (_p == BUN_MAX || BATcount(b) == BUN_MAX) {  \
-                               GDKerror("bunfastins: too many elements to 
accomodate (" BUNFMT ")\n", BUN_MAX); \
-                               goto bunins_failed;                     \
-                       }                                               \
-                       if (BATextend((b), BATgrows(b)) != GDK_SUCCEED) \
-                               goto bunins_failed;                     \
-               }                                                       \
-               bunfastins_nocheck(b, _p, h, t, Hsize(b), Tsize(b));    \
-       } while (0)
-
 #define bunfastapp_nocheck(b, p, t, ts)                \
        do {                                    \
                tfastins_nocheck(b, p, t, ts);  \
@@ -1304,7 +1269,6 @@ gdk_export bte ATOMelmshift(int sz);
        } while (0)
 
 gdk_export gdk_return GDKupgradevarheap(COLrec *c, var_t v, int copyall, int 
mayshare);
-gdk_export gdk_return BUNfastins(BAT *b, const void *left, const void *right);
 gdk_export gdk_return BUNappend(BAT *b, const void *right, bit force);
 gdk_export gdk_return BATins(BAT *b, BAT *c, bit force);
 gdk_export gdk_return BATappend(BAT *b, BAT *c, bit force);
@@ -3072,28 +3036,6 @@ gdk_export void BATsetprop(BAT *b, int i
 
 /*
  * @- BAT relational operators
- *  @multitable @columnfractions 0.08 0.7
- * @item BAT *
-  * @tab BATsemijoin (BAT *l, BAT *r)
- * @item BAT *
- * @tab BATselect (BAT *b, ptr tl, ptr th)
- * @item BAT *
- * @tab BATfragment (BAT *b, ptr l, ptr h, ptr L, ptr H)
- * @item
- * @item BAT *
- * @tab BATkdiff (BAT *b, BAT *c)
- * @end multitable
- *
- * The BAT library comes with a full-fledged collection of relational
- * operators. The two selection operators BATselect and BATfragment
- * produce a partial copy of the BAT. The former performs a search on
- * the tail; the latter considers both dimensions.  The BATselect
- * operation takes two inclusive ranges as search arguments.
- * Interpretation of a NULL argument depends on the position, i.e. a
- * domain lower or upper bound.
- *
- * 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
@@ -3116,12 +3058,9 @@ gdk_export void BATsetprop(BAT *b, int i
 
 gdk_export BAT *BATsubselect(BAT *b, BAT *s, const void *tl, const void *th, 
int li, int hi, int anti);
 gdk_export BAT *BATthetasubselect(BAT *b, BAT *s, const void *val, const char 
*op);
-gdk_export BAT *BATselect_(BAT *b, const void *tl, const void *th, bit li, bit 
hi);
-gdk_export BAT *BATselect(BAT *b, const void *tl, const void *th);
 
 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 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);
 
@@ -3165,48 +3104,4 @@ gdk_export BAT *BATsample(BAT *b, BUN n)
  */
 #define MAXPARAMS      32
 
-#ifndef NDEBUG
-#ifdef __GNUC__
-/* in debug builds, complain (warn) about usage of legacy functions */
-
-#define _COL_TYPE(c)   ((c)->type == TYPE_void ?                       \
-                               (c)->seq == oid_nil ? "nil" : "void" :  \
-                        (c)->type == TYPE_oid ?                        \
-                               (c)->dense ? "dense" : "oid" :          \
-                        ATOMname((c)->type))
-
-#define BATselect_(b, h, t, li, hi)                                    \
-       ({                                                              \
-               BAT *_b = (b);                                          \
-               HEADLESSDEBUG fprintf(stderr,                           \
-                       "#BATselect_([%s,%s]#"BUNFMT") %s[%s:%d]\n",    \
-                       _COL_TYPE(_b->H), _COL_TYPE(_b->T), BATcount(_b), \
-                       __func__, __FILE__, __LINE__);                  \
-               BATselect_(_b, (h), (t), (li), (hi));                   \
-       })
-
-#define BATselect(b, h, t)                                             \
-       ({                                                              \
-               BAT *_b = (b);                                          \
-               HEADLESSDEBUG fprintf(stderr,                           \
-                       "#BATselect([%s,%s]#"BUNFMT") %s[%s:%d]\n",     \
-                       _COL_TYPE(_b->H), _COL_TYPE(_b->T), BATcount(_b), \
-                       __func__, __FILE__, __LINE__);                  \
-               BATselect(_b, (h), (t));                                \
-       })
-
-#define BATsemijoin(l, r)                                              \
-       ({                                                              \
-               BAT *_l = (l), *_r = (r);                               \
-               HEADLESSDEBUG fprintf(stderr,                           \
-                       "#BATsemijoin([%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__);                  \
-               BATsemijoin(_l, _r);                                    \
-       })
-
-#endif
-#endif
-
 #endif /* _GDK_H_ */
diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c
--- a/gdk/gdk_align.c
+++ b/gdk/gdk_align.c
@@ -27,8 +27,7 @@
  * (likewise, @emph{BATcopy()}, which makes a copy, instead of
  * in-place shuffling, has the same alignment effect, @emph{BATmark()}
  * marks the tail column as synced with the head of the original
- * @emph{BAT}, and for instance @emph{BATsemijoin()} marks both return
- * columns as aligned with its left parameter).
+ * @emph{BAT}).
  *
  * Each alignment sequence is given a unique identifier, so as to
  * easily detect this situation. It is retained in the @emph{BAT
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -1006,28 +1006,6 @@ BATcopy(BAT *b, int ht, int tt, int writ
                un_move(tmpp, Tloc(b, p), ts);                          \
        } while (0)
 
-/*
- * @- BUN Insertion
- * Insertion into a BAT is split into two operations BUNins and
- * BUNfastins.  The former should be used when integrity enforcement
- * and index maintenance is required.  The latter is used to quickly
- * insert the BUN into the result without any additional check.  For
- * those cases where speed is required, the type decoding can be
- * circumvented by asking for a BUN using BATbunalloc and fill it
- * directly. See gdk.mx for the bunfastins(b,h,t) macros.
- */
-gdk_return
-BUNfastins(BAT *b, const void *h, const void *t)
-{
-       bunfastins(b, h, t);
-       if (!b->batDirty)
-               b->batDirty = TRUE;
-       return GDK_SUCCEED;
-      bunins_failed:
-       return GDK_FAIL;
-}
-
-
 static void
 setcolprops(BAT *b, COLrec *col, const void *x)
 {
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to