Changeset: 9b1f25de9e56 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9b1f25de9e56
Removed Files:
        monetdb5/modules/mal/00_cluster_hge.mal
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/mclient.c
        gdk/ChangeLog
        gdk/gdk.h
        gdk/gdk_bat.c
        gdk/gdk_join.c
        gdk/gdk_join_legacy.c
        gdk/gdk_private.h
        gdk/gdk_select_legacy.c
        gdk/gdk_storage.c
        monetdb5/ChangeLog
        monetdb5/extras/rapi/Tests/All
        monetdb5/mal/Tests/dataflow01.mal
        monetdb5/mal/Tests/dataflow01.stable.out
        monetdb5/mal/Tests/tst025.stable.out
        monetdb5/mal/Tests/tst032.stable.out
        monetdb5/mal/Tests/tst033.mal
        monetdb5/mal/Tests/tst033.stable.out
        monetdb5/mal/Tests/tst034.mal
        monetdb5/mal/Tests/tst034.stable.out
        monetdb5/mal/Tests/tst201.stable.out
        monetdb5/mal/Tests/tst220.mal
        monetdb5/mal/Tests/tst220.stable.out
        monetdb5/mal/Tests/tst275.stable.out
        monetdb5/mal/Tests/tst810.stable.out
        monetdb5/mal/Tests/tst903.mal
        monetdb5/mal/Tests/tst903.stable.out
        monetdb5/mal/Tests/tst911.mal
        monetdb5/mal/Tests/tst911.stable.out
        monetdb5/mal/Tests/tst912.mal
        monetdb5/mal/Tests/tst912.stable.out
        monetdb5/modules/atoms/batxml.c
        monetdb5/modules/atoms/json.c
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/algebra.h
        monetdb5/modules/kernel/algebra.mal
        monetdb5/modules/mal/Makefile.ag
        monetdb5/modules/mal/Tests/batpartition.stable.out
        monetdb5/modules/mal/Tests/iterator03.stable.out
        monetdb5/modules/mal/Tests/mapi01.mal
        monetdb5/modules/mal/Tests/mapi01.stable.out
        monetdb5/modules/mal/Tests/mapi07.mal
        monetdb5/modules/mal/Tests/mapi07.stable.out
        monetdb5/modules/mal/Tests/partition.stable.out
        monetdb5/modules/mal/Tests/tokenizer00.stable.out
        monetdb5/modules/mal/joinpath.c
        monetdb5/modules/mal/mal_init.mal
        monetdb5/modules/mal/mal_io.c
        monetdb5/modules/mal/mal_io.h
        monetdb5/modules/mal/mal_io.mal
        monetdb5/modules/mal/manual.c
        monetdb5/modules/mal/manual.h
        monetdb5/modules/mal/manual.mal
        monetdb5/optimizer/Tests/All
        monetdb5/optimizer/Tests/CXexample.mal
        monetdb5/optimizer/Tests/CXexample.stable.out
        monetdb5/optimizer/Tests/FTexample.mal
        monetdb5/optimizer/Tests/FTexample.stable.out
        monetdb5/optimizer/Tests/dataflow.mal
        monetdb5/optimizer/Tests/dataflow.stable.out
        monetdb5/optimizer/Tests/reorder00.mal
        monetdb5/optimizer/Tests/reorder00.stable.out
        monetdb5/optimizer/Tests/tst4000.mal
        monetdb5/optimizer/Tests/tst4000.stable.out
        monetdb5/optimizer/Tests/tst4003.mal
        monetdb5/optimizer/Tests/tst4003.stable.out
        monetdb5/optimizer/Tests/tst4030.mal
        monetdb5/optimizer/Tests/tst4030.stable.out
        monetdb5/optimizer/Tests/tst4700.mal
        monetdb5/optimizer/Tests/tst4700.stable.out
        monetdb5/optimizer/opt_pipes.c
        monetdb5/scheduler/Tests/memo01.mal
        monetdb5/scheduler/Tests/memo02.mal
        monetdb5/scheduler/Tests/memo04.mal
        monetdb5/scheduler/Tests/sched00.mal
        monetdb5/scheduler/srvpool.mal
        monetdb5/tests/gdkTests/Tests/scanselect.mal
        monetdb5/tests/gdkTests/Tests/scanselect.stable.out
        sql/backends/monet5/sql.c
        sql/scripts/25_debug.sql
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit
        sql/test/Tests/setoptimizer.stable.err
        sql/test/Tests/setoptimizer.stable.out
        sql/test/Tests/setoptimizer.stable.out.Windows
        sql/test/Tests/systemfunctions.stable.out
        sql/test/Tests/systemfunctions.stable.out.int128
        sql/test/leaks/Tests/check1.stable.out.int128
        sql/test/leaks/Tests/check2.stable.out.int128
        sql/test/leaks/Tests/check3.stable.out.int128
        sql/test/leaks/Tests/check4.stable.out.int128
        sql/test/leaks/Tests/check5.stable.out.int128
        sql/test/mergetables/Tests/mergequery.stable.out
Branch: profiler
Log Message:

Merge with default


diffs (truncated from 4861 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
@@ -2495,18 +2495,6 @@ command algebra.selectNotNil(b:bat[:oid,
 address ALGselectNotNil;
 comment Select all not-nil values
 
-command algebra.select(b:bat[:oid,:any_2],value:any_2):bat[:oid,:any_2] 
-address ALGselect1;
-comment Select all BUNs of a BAT with a certain        tail value. Selection 
on NIL is also    possible (it should be properly casted, e.g.:int(nil)).
-
-command 
algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:oid,:any_2]
 
-address ALGselectInclusive;
-comment Select all BUNs that have tail values: {v| low <{=} v <{=} high}.      
Boundary inclusion is indicated separately.     NIL boundary values have a 
special meaning.     + low  == nil means: no lower bound     + high == nil 
means: no upper bound.
-
-command 
algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2):bat[:oid,:any_2] 
-address ALGselect;
-comment Select all BUNs that have tail values: {v| low <= v <= high}.  NIL 
boundary values have a special meaning.             + low  == nil means: no 
lower bound             + high == nil means: no upper bound.            NOTE 1: 
you should cast the nil to the appropriate type,                                
e.g. int(nil) in order to circumvent type clashes.              NOTE 2: as the 
'nil' element has no clear place in the                          ordered domain 
of values, tuples with 'nil' values                              are NEVER 
returned by the range select.
-
 command 
algebra.subselect(b:bat[:oid,:any_1],s:bat[:oid,:oid],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
 address ALGsubselect2;
 comment Select all head values of the first input BAT for which the tail value 
is in range and for which the head value occurs in the tail of the      second 
input BAT.       The first input is a dense-headed BAT, the second input is a   
 dense-headed BAT with sorted tail, output is a dense-headed BAT with in the 
tail the head value of the input BAT for which the  tail value is between the 
values low and high (inclusive if li  respectively hi is set).  The output BAT 
is sorted on the tail  value.  If low or high is nil, the boundary is not 
considered   (effectively - and + infinity).  If anti is set, the result is the 
     complement.  Nil values in the tail are never matched, unless   low=nil, 
high=nil, li=1, hi=1, anti=0.  All non-nil values are  returned if low=nil, 
high=nil, and li, hi are not both 1, or anti=1.    Note that the output is 
suitable as second input for this       function.
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
@@ -3006,18 +3006,6 @@ command algebra.selectNotNil(b:bat[:oid,
 address ALGselectNotNil;
 comment Select all not-nil values
 
-command algebra.select(b:bat[:oid,:any_2],value:any_2):bat[:oid,:any_2] 
-address ALGselect1;
-comment Select all BUNs of a BAT with a certain        tail value. Selection 
on NIL is also    possible (it should be properly casted, e.g.:int(nil)).
-
-command 
algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:oid,:any_2]
 
-address ALGselectInclusive;
-comment Select all BUNs that have tail values: {v| low <{=} v <{=} high}.      
Boundary inclusion is indicated separately.     NIL boundary values have a 
special meaning.     + low  == nil means: no lower bound     + high == nil 
means: no upper bound.
-
-command 
algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2):bat[:oid,:any_2] 
-address ALGselect;
-comment Select all BUNs that have tail values: {v| low <= v <= high}.  NIL 
boundary values have a special meaning.             + low  == nil means: no 
lower bound             + high == nil means: no upper bound.            NOTE 1: 
you should cast the nil to the appropriate type,                                
e.g. int(nil) in order to circumvent type clashes.              NOTE 2: as the 
'nil' element has no clear place in the                          ordered domain 
of values, tuples with 'nil' values                              are NEVER 
returned by the range select.
-
 command 
algebra.subselect(b:bat[:oid,:any_1],s:bat[:oid,:oid],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid,:oid]
 
 address ALGsubselect2;
 comment Select all head values of the first input BAT for which the tail value 
is in range and for which the head value occurs in the tail of the      second 
input BAT.       The first input is a dense-headed BAT, the second input is a   
 dense-headed BAT with sorted tail, output is a dense-headed BAT with in the 
tail the head value of the input BAT for which the  tail value is between the 
values low and high (inclusive if li  respectively hi is set).  The output BAT 
is sorted on the tail  value.  If low or high is nil, the boundary is not 
considered   (effectively - and + infinity).  If anti is set, the result is the 
     complement.  Nil values in the tail are never matched, unless   low=nil, 
high=nil, li=1, hi=1, anti=0.  All non-nil values are  returned if low=nil, 
high=nil, and li, hi are not both 1, or anti=1.    Note that the output is 
suitable as second input for this       function.
@@ -48438,10 +48426,6 @@ command calc.xml(src:xml):xml
 address XMLxml2xml;
 command calc.xml(src:str):xml 
 address XMLstr2xml;
-command cluster.new(b:bat[:oid,:hge],bits:int,offset:int,order:bit) 
(psum:bat[:oid,:wrd],map:bat[:oid,:bte]) 
-address CLS_create2_hge;
-command cluster.new(b:bat[:oid,:hge],bits:int,offset:int) 
(psum:bat[:oid,:wrd],map:bat[:oid,:wrd]) 
-address CLS_create_hge;
 pattern clients.addUser(nme:str,pw:str):oid 
 address CLTaddUser;
 comment Allow user with password access to the given scenarios
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
@@ -19,12 +19,10 @@ str ATOMname(int id);
 ptr ATOMnil(int id);
 int ATOMprint(int id, const void *val, stream *fd);
 BAT *BATalpha(BAT *b);
-BAT *BATantijoin(BAT *l, BAT *r);
 gdk_return BATappend(BAT *b, BAT *c, bit force);
 void BATassertProps(BAT *b);
 atomDesc BATatoms[];
 BAT *BATattach(int tt, const char *heapfile, int role);
-BAT *BATbandjoin(BAT *l, BAT *r, const void *mnus, const void *plus, bit li, 
bit hi);
 BAT *BATcalcabsolute(BAT *b, BAT *s);
 BAT *BATcalcadd(BAT *b1, BAT *b2, BAT *s, int tp, int abort_on_error);
 BAT *BATcalcaddcst(BAT *b, const ValRecord *v, BAT *s, int tp, int 
abort_on_error);
@@ -157,14 +155,12 @@ int BATname(BAT *b, const char *nme);
 BAT *BATnew(int hdtype, int tltype, BUN capacity, int role) 
__attribute__((warn_unused_result));
 int BATordered(BAT *b);
 int BATordered_rev(BAT *b);
-BAT *BATouterjoin(BAT *l, BAT *r, BUN estimate);
 BAT *BATprev(BAT *b);
 gdk_return BATprint(BAT *b);
 gdk_return BATprintcolumns(stream *s, int argc, BAT *argv[]);
 gdk_return BATprintf(stream *f, BAT *b);
 gdk_return BATprod(void *res, int tp, BAT *b, BAT *s, int skip_nils, int 
abort_on_error, int nil_if_empty);
 BAT *BATproject(BAT *l, BAT *r);
-BAT *BATrangejoin(BAT *l, BAT *rl, BAT *rh, bit li, bit hi);
 gdk_return BATreplace(BAT *b, BAT *p, BAT *n, bit force);
 void BATroles(BAT *b, const char *hnme, const char *tnme);
 BAT *BATsample(BAT *b, BUN n);
@@ -192,11 +188,8 @@ gdk_return BATsubsort(BAT **sorted, BAT 
 gdk_return BATsubthetajoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT 
*sr, int op, int nil_matches, BUN estimate);
 BAT *BATsubunique(BAT *b, BAT *s);
 gdk_return BATsum(void *res, int tp, BAT *b, BAT *s, int skip_nils, int 
abort_on_error, int nil_if_empty);
-BAT *BATthetajoin(BAT *l, BAT *r, int mode, BUN estimate);
 BAT *BATthetasubselect(BAT *b, BAT *s, const void *val, const char *op);
 void BATundo(BAT *b);
-BAT *BATuselect(BAT *b, const void *tl, const void *th);
-BAT *BATuselect_(BAT *b, const void *tl, const void *th, bit li, bit hi);
 BBPrec *BBP[N_BBPINIT];
 void BBPaddfarm(const char *dirname, int rolemask);
 void BBPclear(bat bid);
@@ -714,11 +707,7 @@ str ALARMsleep(void *res, int *secs);
 str ALARMtime(int *res);
 str ALARMtimers(bat *res, bat *actions);
 str ALARMusec(lng *ret);
-str ALGantijoin(bat *result, const bat *lid, const bat *rid);
 str ALGantijoin2(bat *l, bat *r, const bat *lid, const bat *rid);
-str ALGbandjoin(bat *result, const bat *lid, const bat *rid, const void 
*minus, const void *plus, const bit *li, const bit *hi);
-str ALGbandjoin2(bat *l, bat *r, const bat *lid, const bat *rid, const void 
*minus, const void *plus, const bit *li, const bit *hi);
-str ALGbandjoin_default(bat *result, const bat *lid, const bat *rid, const 
void *minus, const void *plus);
 str ALGcard(lng *result, const bat *bid);
 str ALGcopy(bat *result, const bat *bid);
 str ALGcount_bat(wrd *result, const bat *bid);
@@ -730,27 +719,18 @@ str ALGfetchoid(ptr ret, const bat *bid,
 str ALGfind(oid *ret, const bat *bid, ptr val);
 str ALGfirstn(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str ALGgroupby(bat *res, const bat *gids, const bat *cnts);
-str ALGjoin(bat *result, const bat *lid, const bat *rid);
 str ALGjoin2(bat *l, bat *r, const bat *lid, const bat *rid);
 str ALGjoinPath(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ALGjoinestimate(bat *result, const bat *lid, const bat *rid, const lng 
*estimate);
-str ALGkdiff(bat *result, const bat *lid, const bat *rid);
 str ALGleftfetchjoin(bat *result, const bat *lid, const bat *rid);
 str ALGleftjoin(bat *result, const bat *lid, const bat *rid);
 str ALGleftjoinestimate(bat *result, const bat *lid, const bat *rid, const lng 
*estimate);
 str ALGlike(bat *ret, const bat *bid, const str *k);
 str ALGmaxany(ptr result, const bat *bid);
 str ALGminany(ptr result, const bat *bid);
-str ALGouterjoin(bat *result, const bat *lid, const bat *rid);
-str ALGouterjoinestimate(bat *result, const bat *lid, const bat *rid, const 
lng *estimate);
 str ALGprojecttail(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str ALGrangejoin(bat *result, const bat *lid, const bat *rlid, const bat 
*rhid, const bit *li, const bit *hi);
 str ALGrangejoin2(bat *l, bat *r, const bat *lid, const bat *rlid, const bat 
*rhid, const bit *li, const bit *hi);
 str ALGreuse(bat *ret, const bat *bid);
 str ALGsample(bat *result, const bat *bid, const int *param);
-str ALGselect(bat *result, const bat *bid, ptr low, ptr high);
-str ALGselect1(bat *result, const bat *bid, ptr value);
-str ALGselectInclusive(bat *result, const bat *bid, ptr low, ptr high, const 
bit *lin, const bit *rin);
 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);
@@ -783,9 +763,6 @@ str ALGsubthetajoin(bat *r1, bat *r2, co
 str ALGsubunique1(bat *result, const bat *bid);
 str ALGsubunique2(bat *result, const bat *bid, const bat *sid);
 str ALGtdiff(bat *result, const bat *lid, const bat *rid);
-str ALGthetajoin(bat *result, const bat *lid, const bat *rid, const int *opc);
-str ALGthetajoin2(bat *l, bat *r, const bat *lid, const bat *rid, const int 
*opc);
-str ALGthetajoinEstimate(bat *result, const bat *lid, const bat *rid, const 
int *opc, const lng *estimate);
 str ALGthetasubselect1(bat *result, const bat *bid, const void *val, const 
char **op);
 str ALGthetasubselect2(bat *result, const bat *bid, const bat *sid, const void 
*val, const char **op);
 str ALGtinter(bat *result, const bat *lid, const bat *rid);
@@ -1281,11 +1258,9 @@ str INSPECTshowFunction3(Client cntxt, M
 str INSPECTtypeName(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str IOexport(bit *ret, bat *bid, str *fnme);
 str IOimport(bat *ret, bat *bid, str *fnme);
-str IOprintBoth(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci, int 
indx, str hd, str tl, int nobat);
 str IOprint_val(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str IOprintf(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str IOprintfStream(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str IOprompt_val(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str IOtable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str ITRbunIterator(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str ITRbunNext(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
@@ -1366,12 +1341,8 @@ str MALstartDataflow(Client cntxt, MalBl
 str MANIFOLDevaluate(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str MANIFOLDremapMultiplex(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
p);
 MALfcn MANIFOLDtypecheck(Client cntxt, MalBlkPtr mb, InstrPtr pci);
-str MANUALcompletion(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str MANUALcreateIndex(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str MANUALcreateSection(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-str MANUALcreateSummary(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
+str MANUALcreateOverview(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 str MANUALhelp(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str MANUALsearch(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str MATHbinary_ATAN2dbl(dbl *res, const dbl *a, const dbl *b);
 str MATHbinary_ATAN2flt(flt *res, const flt *a, const flt *b);
 str MATHbinary_POWdbl(dbl *res, const dbl *a, const dbl *b);
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -83,6 +83,7 @@ static char *language = NULL;
 static char *logfile = NULL;
 static char promptbuf[16];
 static int echoquery = 0;
+static int showtiming = 0;
 #ifdef HAVE_ICONV
 static char *encoding;
 static iconv_t cd_in;
@@ -1354,6 +1355,8 @@ SQLrenderer(MapiHdl hdl, char singleinst
        int ps = rowsperpage, silent = 0;
        mapi_int64 rows = 0;
 
+       /* in case of interactive mode, we should show timing on request */
+       singleinstr = showtiming? 1 :singleinstr;
 #if 0
        if (mark2)
                free(mark2);
@@ -3162,6 +3165,7 @@ main(int argc, char **argv)
                        break;
                case 'i':
                        interactive = 1;
+                       showtiming = 1;
                        if (optarg != NULL) {
                                if (strcmp(optarg, "ms") == 0) {
                                        itimemode = T_MILLIS;
diff --git a/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -1,6 +1,11 @@
 # ChangeLog file for MonetDB
 # This file is updated with Maddlog
 
+* Thu Sep 10 2015 Sjoerd Mullender <[email protected]>
+- Removed legacy functions BATuselect and BATuselect_.
+- Removed legacy functions BATantijoin, BATbandjoin, BATouterjoin,
+  BATrangejoin, and BATthetajoin.
+
 * Wed Sep  9 2015 Sjoerd Mullender <[email protected]>
 - Removed function BATrevert.
 - BATordered now works on the TAIL column.
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -3071,10 +3071,6 @@ gdk_export void BATsetprop(BAT *b, int i
  * @item BAT *
  * @tab BATjoin (BAT *l, BAT *r, BUN estimate)
  * @item BAT *
- * @tab BATouterjoin (BAT *l, BAT *r, BUN estimate)
- * @item BAT *
- * @tab BATthetajoin (BAT *l, BAT *r, int mode, BUN estimate)
- * @item BAT *
  * @tab BATsemijoin (BAT *l, BAT *r)
  * @item BAT *
  * @tab BATselect (BAT *b, ptr tl, ptr th)
@@ -3094,10 +3090,9 @@ gdk_export void BATsetprop(BAT *b, int i
  * 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 BATouterjoin
- * 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.
+ * 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 full-materialization policy intermediate results in MonetDB
  * means that a join can produce an arbitrarily large result and choke
@@ -3121,22 +3116,15 @@ 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 *BATuselect_(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 *BATuselect(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 *BATthetajoin(BAT *l, BAT *r, int mode, BUN estimate);
 gdk_export BAT *BATsemijoin(BAT *l, BAT *r);
 gdk_export BAT *BATjoin(BAT *l, BAT *r, BUN estimate);
-gdk_export BAT *BATantijoin(BAT *l, BAT *r);
 gdk_export BAT *BATleftjoin(BAT *l, BAT *r, BUN estimate);
-gdk_export BAT *BATouterjoin(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);
-gdk_export BAT *BATbandjoin(BAT *l, BAT *r, const void *mnus, const void 
*plus, bit li, bit hi);
-gdk_export BAT *BATrangejoin(BAT *l, BAT *rl, BAT *rh, bit li, bit hi);
 
 gdk_export gdk_return BATsubleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT 
*sl, BAT *sr, int nil_matches, BUN estimate);
 gdk_export gdk_return BATsubouterjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, 
BAT *sl, BAT *sr, int nil_matches, BUN estimate);
@@ -3201,16 +3189,6 @@ gdk_export BAT *BATsample(BAT *b, BUN n)
                BATselect_(_b, (h), (t), (li), (hi));                   \
        })
 
-#define BATuselect_(b, h, t, li, hi)                                   \
-       ({                                                              \
-               BAT *_b = (b);                                          \
-               HEADLESSDEBUG fprintf(stderr,                           \
-                       "#BATuselect_([%s,%s]#"BUNFMT") %s[%s:%d]\n",   \
-                       _COL_TYPE(_b->H), _COL_TYPE(_b->T), BATcount(_b), \
-                       __func__, __FILE__, __LINE__);                  \
-               BATuselect_(_b, (h), (t), (li), (hi));                  \
-       })
-
 #define BATselect(b, h, t)                                             \
        ({                                                              \
                BAT *_b = (b);                                          \
@@ -3221,16 +3199,6 @@ gdk_export BAT *BATsample(BAT *b, BUN n)
                BATselect(_b, (h), (t));                                \
        })
 
-#define BATuselect(b, h, t)                                            \
-       ({                                                              \
-               BAT *_b = (b);                                          \
-               HEADLESSDEBUG fprintf(stderr,                           \
-                       "#BATuselect([%s,%s]#"BUNFMT") %s[%s:%d]\n",    \
-                       _COL_TYPE(_b->H), _COL_TYPE(_b->T), BATcount(_b), \
-                       __func__, __FILE__, __LINE__);                  \
-               BATuselect(_b, (h), (t));                               \
-       })
-
 #define BATsemijoin(l, r)                                              \
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to