[prev in list] [next in list] [prev in thread] [next in thread] 

List:       monetdb-checkins
Subject:    MonetDB: transaction-replication - Merge with the default branch
From:       Dimitar Nedev <commits () monetdb ! org>
Date:       2015-01-30 7:47:45
Message-ID: hg.75b57eef90d8.1422604065.6315528441665844383 () monetdb2 ! cwi-incubator ! nl
[Download RAW message or body]

Changeset: 75b57eef90d8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=75b57eef90d8
Added Files:
	monetdb5/mal/Tests/tst281.mal
	monetdb5/mal/Tests/tst281.stable.err
	monetdb5/mal/Tests/tst281.stable.out
	monetdb5/optimizer/Tests/manifold2.mal
	monetdb5/optimizer/Tests/manifold2.stable.err
	monetdb5/optimizer/Tests/manifold2.stable.out
	sql/backends/monet5/vaults/fits.sql
	sql/test/BugTracker-2015/Tests/acidity2-fail.Bug-3635.SQL.py
	sql/test/BugTracker-2015/Tests/and_or_in.Bug-3655.sql
	sql/test/BugTracker-2015/Tests/and_or_in.Bug-3655.stable.err
	sql/test/BugTracker-2015/Tests/and_or_in.Bug-3655.stable.out
	sql/test/BugTracker-2015/Tests/prepare_unop_crash.Bug-3653.sql
	sql/test/BugTracker-2015/Tests/prepare_unop_crash.Bug-3653.stable.err
	sql/test/BugTracker-2015/Tests/prepare_unop_crash.Bug-3653.stable.out
	sql/test/mergetables/Tests/forex.stable.err
	sql/test/mergetables/Tests/forex.stable.out
Removed Files:
	monetdb5/mal/Tests/tst023.mal
	monetdb5/mal/Tests/tst023.stable.err
	monetdb5/mal/Tests/tst023.stable.out
	monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/find_nil_in_void.SF-921814.mal
	monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/find_nil_in_void.SF-921814.stable.err
	monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/find_nil_in_void.SF-921814.stable.out
	monetdb5/tests/gdkTests/Tests/TMsubcommit.mal
	monetdb5/tests/gdkTests/Tests/TMsubcommit.stable.err
	monetdb5/tests/gdkTests/Tests/TMsubcommit.stable.out
Modified Files:
	clients/Tests/All
	clients/Tests/MAL-signatures_all.stable.out
	clients/Tests/MAL-signatures_all.stable.out.int128
	clients/Tests/MAL-signatures_fits_geom.stable.out
	clients/Tests/MAL-signatures_fits_geom.stable.out.int128
	clients/Tests/MAL-signatures_geom.stable.out
	clients/Tests/MAL-signatures_geom.stable.out.int128
	clients/Tests/MAL-signatures_none.stable.out
	clients/Tests/MAL-signatures_none.stable.out.int128
	clients/Tests/SQL-dump_all.stable.out
	clients/Tests/SQL-dump_all.stable.out.int128
	clients/Tests/SQL-dump_geom.stable.out
	clients/Tests/SQL-dump_geom.stable.out.64bit.oid32
	clients/Tests/SQL-dump_geom.stable.out.int128
	clients/Tests/SQL-dump_none.stable.out
	clients/Tests/SQL-dump_none.stable.out.int128
	clients/Tests/exports.stable.out
	gdk/ChangeLog.Oct2014
	gdk/gdk_calc.c
	gdk/gdk_calc.h
	gdk/gdk_imprints.c
	gdk/gdk_join.c
	gdk/gdk_private.h
	gdk/gdk_select.c
	geom/monetdb5/geom.c
	geom/monetdb5/geom.mal
	monetdb5/ChangeLog
	monetdb5/mal/Tests/All
	monetdb5/mal/Tests/tst1200.mal
	monetdb5/mal/Tests/tst1200.stable.out
	monetdb5/mal/Tests/tst201.mal
	monetdb5/mal/Tests/tst201.stable.out
	monetdb5/mal/Tests/tst307.mal
	monetdb5/mal/Tests/tst307.stable.out
	monetdb5/mal/Tests/tst903.stable.out
	monetdb5/mal/Tests/tst904.stable.out
	monetdb5/mal/Tests/tst905.stable.out
	monetdb5/mal/Tests/tst907.stable.out
	monetdb5/modules/atoms/blob.c
	monetdb5/modules/atoms/blob.mal
	monetdb5/modules/atoms/inet.mal
	monetdb5/modules/atoms/json.mal
	monetdb5/modules/atoms/mtime.c
	monetdb5/modules/atoms/mtime.h
	monetdb5/modules/atoms/mtime.mal
	monetdb5/modules/atoms/str.c
	monetdb5/modules/atoms/str.h
	monetdb5/modules/atoms/str.mal
	monetdb5/modules/kernel/aggr.mal.sh
	monetdb5/modules/kernel/algebra.c
	monetdb5/modules/kernel/algebra.h
	monetdb5/modules/kernel/algebra.mal
	monetdb5/modules/mal/00_batcalc_hge.mal
	monetdb5/modules/mal/00_batcalc_hge.mal.sh
	monetdb5/modules/mal/00_calc_hge.mal
	monetdb5/modules/mal/00_calc_hge.mal.sh
	monetdb5/modules/mal/01_batcalc.mal
	monetdb5/modules/mal/01_batcalc.mal.sh
	monetdb5/modules/mal/01_calc.mal
	monetdb5/modules/mal/01_calc.mal.sh
	monetdb5/modules/mal/Tests/inspect05.mal
	monetdb5/modules/mal/Tests/inspect05.stable.out.int128
	monetdb5/modules/mal/batcalc.c
	monetdb5/modules/mal/batmtime.mal
	monetdb5/modules/mal/batmtime.mal.sh
	monetdb5/modules/mal/calc.c
	monetdb5/modules/mal/mal_init.mal
	monetdb5/modules/mal/manifold.c
	monetdb5/modules/mal/mat.mal
	monetdb5/optimizer/Tests/All
	monetdb5/optimizer/Tests/DCexample.mal
	monetdb5/optimizer/Tests/DCexample.stable.out
	monetdb5/optimizer/Tests/ESexample.mal
	monetdb5/optimizer/Tests/ESexample.stable.out
	monetdb5/optimizer/Tests/Mexample.stable.out
	monetdb5/optimizer/Tests/inlineFunction2.stable.out
	monetdb5/optimizer/Tests/joinpath.mal
	monetdb5/optimizer/Tests/tst4630.stable.out
	monetdb5/optimizer/Tests/tst4820.mal
	monetdb5/optimizer/Tests/tst4820.stable.out
	monetdb5/optimizer/opt_multiplex.c
	monetdb5/optimizer/opt_prelude.c
	monetdb5/optimizer/opt_prelude.h
	monetdb5/optimizer/opt_support.c
	monetdb5/tests/BugDay_2005-10-06_4.9.3/Tests/All
	monetdb5/tests/gdkTests/Tests/All
	monetdb5/tests/suite_01/Tests/All
	sql/backends/monet5/rel_bin.c
	sql/backends/monet5/sql_gencode.c
	sql/backends/monet5/sql_statement.c
	sql/backends/monet5/sql_statement.h
	sql/backends/monet5/vaults/Makefile.ag
	sql/benchmarks/ssbm/Tests/01-explain.stable.out
	sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/02-explain.stable.out
	sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/03-explain.stable.out
	sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/04-explain.stable.out
	sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/05-explain.stable.out
	sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/06-explain.stable.out
	sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/07-explain.stable.out
	sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/08-explain.stable.out
	sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/09-explain.stable.out
	sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/10-explain.stable.out
	sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/11-explain.stable.out
	sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/12-explain.stable.out
	sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
	sql/benchmarks/ssbm/Tests/13-explain.stable.out
	sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/01-explain.stable.out
	sql/benchmarks/tpch/Tests/02-explain.stable.out
	sql/benchmarks/tpch/Tests/03-explain.stable.out
	sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/04-explain.stable.out
	sql/benchmarks/tpch/Tests/05-explain.stable.out
	sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/06-explain.stable.out
	sql/benchmarks/tpch/Tests/07-explain.stable.out
	sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/08-explain.stable.out
	sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/09-explain.stable.out
	sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/09-plan.stable.out
	sql/benchmarks/tpch/Tests/10-explain.stable.out
	sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/11-explain.stable.out
	sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/12-explain.stable.out
	sql/benchmarks/tpch/Tests/12-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/13-explain.stable.out
	sql/benchmarks/tpch/Tests/14-explain.stable.out
	sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/15-explain.stable.out
	sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/16-explain.stable.out
	sql/benchmarks/tpch/Tests/17-explain.stable.out
	sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/18-explain.stable.out
	sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/19-explain.stable.out
	sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/20-explain.stable.out
	sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
	sql/benchmarks/tpch/Tests/20-plan.stable.out
	sql/benchmarks/tpch/Tests/21-explain.stable.out
	sql/benchmarks/tpch/Tests/22-explain.stable.out
	sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
	sql/common/sql_changeset.c
	sql/include/sql_catalog.h
	sql/server/rel_select.c
	sql/storage/bat/bat_storage.c
	sql/storage/store.c
	sql/test/BugTracker-2009/Tests/union_leak.SF-2540169.2.mal
	sql/test/BugTracker-2010/Tests/ORDER_BY_over_UNION_EXCEPT_INTERSECT.Bug-2606.stable.out
  sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
	sql/test/BugTracker-2015/Tests/All
	sql/test/BugTracker-2015/Tests/name_conflict.Bug-3650.stable.err
	sql/test/Tests/systemfunctions.stable.out
	sql/test/Tests/systemfunctions.stable.out.int128
	sql/test/Tests/systemfunctions_bam.stable.out
	sql/test/Tests/systemfunctions_bam.stable.out.int128
	sql/test/Tests/systemfunctions_gsl.stable.out
	sql/test/Tests/systemfunctions_gsl.stable.out.int128
	sql/test/Tests/systemfunctions_nogeom.stable.out
	sql/test/Tests/systemfunctions_nogeom.stable.out.int128
	sql/test/mergetables/Tests/forex.sql
	sql/test/mergetables/Tests/mergekey.sql
	sql/test/mergetables/Tests/mergekey.stable.err
	sql/test/mergetables/Tests/mergekey.stable.out
	testing/Mtest.py.in
Branch: transaction-replication
Log Message:

Merge with the default branch


diffs (truncated from 44818 to 300 lines):

diff --git a/clients/Tests/All b/clients/Tests/All
--- a/clients/Tests/All
+++ b/clients/Tests/All
@@ -3,7 +3,7 @@ HAVE_CFITSIO&HAVE_GEOM&HAVE_GSL&HAVE_LIB
 HAVE_CFITSIO&HAVE_GEOM&!HAVE_GSL&!HAVE_LIBR&!HAVE_SAMTOOLS&!HAVE_SPHINXCLIENT&!ENABLE_DATACELL?MAL-signatures_fits_geom
                
 !HAVE_CFITSIO&HAVE_GEOM&!HAVE_GSL&!HAVE_LIBR&!HAVE_SAMTOOLS&!HAVE_SPHINXCLIENT&!ENABLE_DATACELL?MAL-signatures_geom
                
 !HAVE_CFITSIO&!HAVE_GEOM&!HAVE_GSL&!HAVE_LIBR&!HAVE_SAMTOOLS&!HAVE_SPHINXCLIENT&!ENABLE_DATACELL?MAL-signatures_none
                
-HAVE_GEOM&HAVE_GSL&HAVE_SAMTOOLS&!ENABLE_DATACELL?SQL-dump_all
+HAVE_GEOM&HAVE_GSL&HAVE_SAMTOOLS&!ENABLE_DATACELL&!BITS32?SQL-dump_all
 HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!ENABLE_DATACELL?SQL-dump_geom
-!HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!ENABLE_DATACELL?SQL-dump_none
+!HAVE_GEOM&!HAVE_GSL&!HAVE_SAMTOOLS&!ENABLE_DATACELL&!BITS32?SQL-dump_none
 MERCURIAL?malcheck
diff --git a/clients/Tests/MAL-signatures_all.stable.out \
                b/clients/Tests/MAL-signatures_all.stable.out
--- a/clients/Tests/MAL-signatures_all.stable.out
+++ b/clients/Tests/MAL-signatures_all.stable.out
@@ -178,13 +178,13 @@ comment Grouped count
 
 command aggr.count_no_nil(b:bat[:oid,:any_1],e:bat[:oid,:any_1]):bat[:oid,:wrd] 
 address AGGRcount2nonils;
-command aggr.count(b:bat[:void,:any_1],e:bat[:void,:any_2]):bat[:void,:wrd] 
+command aggr.count(b:bat[:oid,:any_1],e:bat[:oid,:any_2]):bat[:oid,:wrd] 
 address AGGRcount2nils;
-command aggr.count(b:bat[:void,:any_1],e:bat[:oid,:any_2]):bat[:void,:wrd] 
+command aggr.count(b:bat[:oid,:any_1],e:bat[:oid,:any_2]):bat[:oid,:wrd] 
 address AGGRcount2nils;
 comment Grouped count
 
-command aggr.count(b:bat[:oid,:any_1],g:bat[:oid,:oid],e:bat[:oid,:any_2],ignorenils:bit):bat[:void,:wrd] \
 +command aggr.count(b:bat[:oid,:any_1],g:bat[:oid,:oid],e:bat[:oid,:any_2],ignorenils:bit):bat[:oid,:wrd] \
  address AGGRcount3;
 command aggr.count(b:bat[:oid,:any_1],e:bat[:oid,:any_2],ignorenils:bit):bat[:oid,:wrd] \
  address AGGRcount2;
@@ -194,15 +194,15 @@ command aggr.cardinality(b:bat[:oid,:any
 address ALGcard;
 comment Return the cardinality of the BAT tail values.
 
-command aggr.count_no_nil(b:bat[:any_1,:any_2]):wrd 
+command aggr.count_no_nil(b:bat[:oid,:any_2]):wrd 
 address ALGcount_no_nil;
 comment Return the number of elements currently	in a BAT ignoring BUNs with nil-tail
 
-command aggr.count(b:bat[:any_1,:any],ignore_nils:bit):wrd 
+command aggr.count(b:bat[:oid,:any],ignore_nils:bit):wrd 
 address ALGcount_nil;
 comment Return the number of elements currently in a BAT ignores		BUNs with nil-tail \
iff ignore_nils==TRUE.  
-command aggr.count(b:bat[:any_1,:any]):wrd 
+command aggr.count(b:bat[:oid,:any]):wrd 
 address ALGcount_bat;
 comment Return the current size (in number of elements) in a BAT.
 
@@ -229,11 +229,11 @@ command aggr.max(b:bat[:oid,:any_1],e:ba
 address AGGRmax2;
 command aggr.min(b:bat[:oid,:any_1],e:bat[:oid,:any_2]):bat[:oid,:any_1] 
 address AGGRmin2;
-command aggr.max(b:bat[:any_1,:any_2]):any_2 
+command aggr.max(b:bat[:oid,:any_2]):any_2 
 address ALGmaxany;
 comment Return the highest tail value or nil.
 
-command aggr.min(b:bat[:any_1,:any_2]):any_2 
+command aggr.min(b:bat[:oid,:any_2]):any_2 
 address ALGminany;
 comment Return the lowest tail value or nil.
 
@@ -1170,7 +1170,7 @@ command aggr.subcount(b:bat[:oid,:any_1]
 address AGGRsubcount;
 comment Grouped count aggregate
 
-command aggr.size(b:bat[:void,:bit],e:bat[:void,:any_1]):bat[:void,:wrd] 
+command aggr.size(b:bat[:oid,:bit],e:bat[:oid,:any_1]):bat[:oid,:wrd] 
 address AGGRsize2nils;
 comment Grouped count of true values
 
@@ -2254,31 +2254,15 @@ command aggr.variance(b:bat[:oid,:any_2]
 address ALGvariance;
 comment Gives the variance of all tail values
 
-command algebra.antijoin(left:bat[:any_1,:any_2],right:bat[:any_2,:any_4]):bat[:any_1,:any_4] \
                
-address ALGantijoin;
-comment Returns the antijoin
-
 command algebra.antijoin(left:bat[:oid,:any_1],right:bat[:oid,:any_1]) \
(l:bat[:oid,:oid],r:bat[:oid,:oid])   address ALGantijoin2;
 comment Returns 2 columns with all BUNs, consisting of the head-oids	  from 'left' \
and 'right' for which there are BUNs in 'left'	  and 'right' with equal tails  
-command algebra.bandjoin(outer:bat[:any_1,:any_2],inner:bat[:any_2,:any_3],minus:any_2,plus:any_2,li:bit,hi:bit):bat[:any_1,:any_3] \
                
-address ALGbandjoin;
-comment This is a join() for which the predicate is that two BUNs match		if the \
left-tail value is within the range [right-head - minus,		right-head + plus], \
depending on (l_in/h_in), the bounds		are included. Works only for the builtin \
                numerical types,		and their derivates.
-
-command algebra.bandjoin(outer:bat[:any_1,:any_2],inner:bat[:any_2,:any_3],minus:any_2,plus:any_2):bat[:any_1,:any_3] \
                
-address ALGbandjoin_default;
-comment This is a join() for which the predicate is that two BUNs match		if the \
left-tail value is within the range [right-head - minus,		right-head + plus]. Works \
                only for the builtin numerical types,		and their derivates.
-
-command algebra.bandjoin(outer:bat[:oid,:any_2],inner:bat[:oid,:any_2],minus:any_2,plus:any_2,li:bit,hi:bit) \
                (l:bat[:oid,:oid],r:bat[:oid,:oid]) 
-address ALGbandjoin2;
-comment This is a join() for which the predicate is that two BUNs match		if the \
left-tail value is within the range [right-head - minus,		right-head + plus], \
depending on (l_in/h_in), the bounds		are included. Works only for the builtin \
                numerical types,		and their derivates.
-
 command algebra.crossproduct(left:bat[:oid,:any_1],right:bat[:oid,:any_2]) \
(l:bat[:oid,:oid],r:bat[:oid,:oid])   address ALGcrossproduct2;
 comment Returns 2 columns with all BUNs, consisting of the head-oids	  from 'left' \
and 'right' for which there are BUNs in 'left'	  and 'right' with equal tails  
-command algebra.copy(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] 
+command algebra.copy(b:bat[:oid,:any_1]):bat[:oid,:any_1] 
 address ALGcopy;
 comment Returns physical copy of a BAT.
 
@@ -2310,13 +2294,13 @@ pattern algebra.firstn(b:bat[:oid,:any],
 address ALGfirstn;
 comment Calculate first N values of B
 
-command algebra.fetch(b:bat[:any_2,:any_1],x:oid):any_1 
+command algebra.fetch(b:bat[:oid,:any_1],x:oid):any_1 
 address ALGfetchoid;
-comment Returns the tail value of the BUN at x-th position	with 0 <= x < b.count
-
-command algebra.find(b:bat[:any_1,:any_2],h:any_1):any_2 
+comment Returns the value of the BUN at x-th position with 0 <= x < b.count
+
+command algebra.find(b:bat[:oid,:any_1],t:any_1):oid 
 address ALGfind;
-comment Returns the tail value 't' for which some [h,t] BUN	exists in b.  If no such \
BUN exists, an error occurs. +comment Returns the index position of a value.  If no \
such BUN exists return OID-nil.  
 command algebra.groupby(gids:bat[:oid,:oid],cnts:bat[:oid,:wrd]):bat[:oid,:oid] 
 address ALGgroupby;
@@ -2333,30 +2317,18 @@ command algebra.ilike(s:str,pat:str):bit
 address PCREilike2;
 command algebra.ilike(s:str,pat:str,esc:str):bit 
 address PCREilike3;
-command algebra.indexjoin(left:bat[:any_1,:any_2],right:bat[:any_2,:any_3]):bat[:any_1,:any_3] \
                
-address ALGindexjoin;
-comment Hook directly into the index implementation of the join.
-
 pattern algebra.joinPath(l:bat[:any,:any]...):bat[:oid,:any] 
 address ALGjoinPath;
 comment Routine to handle join paths.  The type analysis is rather tricky.
 
-command algebra.join(l:bat[:any_1,:any_2],rl:bat[:any_3,:any_2],rh:bat[:any_3,:any_2],li:bit,hi:bit):bat[:any_1,:any_3] \
                
-address ALGrangejoin;
-command algebra.join(left:bat[:any_1,:any_2],right:bat[:any_2,:any_3],estimate:lng):bat[:any_1,:any_3] \
                
-address ALGjoinestimate;
-command algebra.join(left:bat[:any_1,:any_2],right:bat[:any_2,:any_3]):bat[:any_1,:any_3] \
                
-address ALGjoin;
-command algebra.join(left:bat[:any_1,:any_2],right:bat[:any_2,:any_3]):bat[:any_1,:any_3] \
                
-address ALGjoin;
-comment Returns all BUNs, consisting of a head-value from 'left' and		a tail-value \
from 'right' for which there are BUNs in 'left'		and 'right' with equal tail- resp. \
                head-value (i.e. the join	columns are projected out).
-
 command algebra.join(left:bat[:oid,:any_2],rl:bat[:oid,:any_2],rh:bat[:oid,:any_2],li:bit,hi:bit) \
(l:bat[:oid,:oid],r:bat[:oid,:oid])   address ALGrangejoin2;
 command algebra.join(left:bat[:oid,:any_1],right:bat[:oid,:any_1]) \
(l:bat[:oid,:oid],r:bat[:oid,:oid])   address ALGjoin2;
 comment Returns 2 columns with all BUNs, consisting of the head-oids	  from 'left' \
and 'right' for which there are BUNs in 'left'	  and 'right' with equal tails  
+command algebra.join(l:bat[:any_1,:any_2],rl:bat[:any_3,:any_2],rh:bat[:any_3,:any_2],li:bit,hi:bit):bat[:any_1,:any_3] \
 +address ALGrangejoin;
 command algebra.kunion(left:bat[:any_1,:any_2],right:bat[:any_1,:any_2]):bat[:any_1,:any_2] \
  address ALGkunion;
 comment Returns the union of two BATs; looking at head-columns only.		Results in all \
BUNs of 'left' that are  not in 'right', plus	all BUNs of 'right'.  *no* \
double-elimination is done. @@ -2392,6 +2364,10 @@ command \
algebra.like(s:str,pat:str):bit  address PCRElike2;
 command algebra.like(s:str,pat:str,esc:str):bit 
 address PCRElike3;
+command algebra.like(b:bat[:oid,:str],substr:str):bat[:oid,:str] 
+address ALGlike;
+comment Selects all elements that have 'substr' as in the tail.
+
 command algebra.leftfetchjoin(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3] \
  address ALGleftfetchjoin;
 comment Hook directly into the left fetch join implementation.
@@ -2400,10 +2376,6 @@ command algebra.leftjoin(left:bat[:any_1
 address ALGleftjoinestimate;
 command algebra.leftjoin(left:bat[:any_1,:any_2],right:bat[:any_2,:any_3]):bat[:any_1,:any_3] \
  address ALGleftjoin;
-command algebra.like(b:bat[:oid,:str],substr:str):bat[:oid,:str] 
-address ALGlike;
-comment Selects all elements that have 'substr' as in the tail.
-
 command algebra.mark_grp(b:bat[:any_1,:oid],g:bat[:oid,:any_2],s:oid):bat[:any_1,:oid] \
  address ALGmark_grp_2;
 comment "grouped mark": Produces a new BAT with per group a locally unique dense \
ascending sequense of OIDs in the tail. The tail of the first BAT (b) identifies the \
group that each BUN of b belongs to. The second BAT (g) represents the group extent, \
i.e., the head is the unique list of group IDs from b's tail. The third argument (s) \
gives the base value for the new OID sequence of each group. @@ -2432,20 +2404,6 @@ \
command algebra.not_like(s:str,pat:str):  address PCREnotlike2;
 command algebra.not_like(s:str,pat:str,esc:str):bit 
 address PCREnotlike3;
-command algebra.outerjoin(outer:bat[:any_1,:any_2],inner:bat[:any_2,:any_3],estimate:lng):bat[:any_1,:any_3] \
                
-address ALGouterjoinestimate;
-command algebra.outerjoin(outer:bat[:any_1,:oid],inner:bat[:oid,:any_3]):bat[:any_1,:any_3] \
                
-address ALGouterjoin;
-comment Returns all the result of a join, plus the BUNS formed NIL in		the tail and \
                the head-values of 'outer' whose tail-value does		not match an \
                head-value in 'inner'.
-
-command algebra.outerjoin(outer:bat[:any_1,:oid],inner:bat[:oid,:any_3]):bat[:any_1,:any_3] \
                
-address ALGouterjoin;
-comment Returns all the result of a join, plus the BUNS formed NIL in		the tail and \
                the head-values of 'outer' whose tail-value does		not match an \
                head-value in 'inner'.
-
-command algebra.outerjoin(outer:bat[:any_1,:any_2],inner:bat[:any_2,:any_3]):bat[:any_1,:any_3] \
                
-address ALGouterjoin;
-comment Returns all the result of a join, plus the BUNS formed NIL in		the tail and \
                the head-values of 'outer' whose tail-value does		not match an \
                head-value in 'inner'.
-
 pattern algebra.project(b:bat[:any_2,:any_1],v:any_3):bat[:any_2,:any_3] 
 address ALGprojecttail;
 comment Fill the tail with a constant, e.g. [0~b]
@@ -2458,11 +2416,11 @@ command algebra.project(b:bat[:any_1,:an
 address ALGprojectNIL;
 comment Extract the head of a BAT.
 
-command algebra.reuse(b:bat[:oid,:any_2]):bat[:oid,:any_2] 
+command algebra.reuse(b:bat[:oid,:any_1]):bat[:oid,:any_1] 
 address ALGreuse;
 comment Reuse a temporary BAT if you can. Otherwise,	allocate enough storage to \
accept result of an 	operation (not involving the heap)  
-command algebra.revert(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] 
+command algebra.revert(b:bat[:oid,:any_1]):bat[:oid,:any_1] 
 address ALGrevert;
 comment Returns a BAT copy with buns in reverse order
 
@@ -2470,6 +2428,26 @@ pattern algebra.semijoinPath(l:bat[:any,
 address ALGjoinPath;
 comment Routine to handle join paths.  The type analysis is rather tricky.
 
+command algebra.subslice(b:bat[:oid,:any_1],x:wrd,y:wrd):bat[:oid,:oid] 
+address ALGsubslice_wrd;
+comment Return the oids of the slice with the BUNs at position x till y.
+
+command algebra.slice(b:bat[:oid,:any_1],x:wrd,y:wrd):bat[:oid,:any_1] 
+address ALGslice_wrd;
+comment Return the slice with the BUNs at position x till y.
+
+command algebra.slice(b:bat[:oid,:any_1],x:int,y:int):bat[:oid,:any_1] 
+address ALGslice_int;
+comment Return the slice with the BUNs at position x till y.
+
+command algebra.slice(b:bat[:oid,:any_1],x:lng,y:lng):bat[:oid,:any_1] 
+address ALGslice;
+comment Return the slice with the BUNs at position x till y.
+
+command algebra.slice(b:bat[:oid,:any_1],x:oid,y:oid):bat[:oid,:any_1] 
+address ALGslice_oid;
+comment Return the slice based on head oid x till y (exclusive).
+
 command algebra.subrangejoin(l:bat[:oid,:any_1],r1:bat[:oid,:any_1],r2:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],li:bit,hi:bit,estimate:lng) \
(X_9:bat[:oid,:oid],X_10:bat[:oid,:oid])   address ALGsubrangejoin;
 comment Range join: values in l and r1/r2 match if r1 <[=] l <[=] r2
@@ -2495,10 +2473,6 @@ command algebra.subjoin(l:bat[:oid,:any_
 address ALGsubjoin;
 comment Join
 
-command algebra.semijoin(left:bat[:any_1,:any_2],right:bat[:any_1,:any]):bat[:any_1,:any_2] \
                
-address ALGsemijoin;
-comment Returns the intersection taken over only the *head* columns of		two BATs.  \
Results in all BUNs of 'left' that are also in 'right'.		Does *not* do \
double-elimination over the 'left' BUNs.		If you want this, use: \
                'kintersect(kunique(left),kunique(right))'	or: \
                'kunique(kintersect(left,right))'.
-
 command algebra.subunique(b:bat[:oid,:any_1]):bat[:oid,:oid] 
 address ALGsubunique1;
 comment Select all unique values from the tail of the input.	Input is a dense-headed \
BAT, output is a dense-headed BAT with	in the tail the head value of the input BAT \
that was selected.	The output BAT is sorted on the tail value. @@ -2543,62 +2517,10 \
@@ command algebra.subsort(b:bat[:oid,:any_  address ALGsubsort11;
 comment Returns a copy of the BAT sorted on tail values.         The input and \
output are (must be) dense headed.         The order is descending if the reverse bit \
is set.		 This is a stable sort if the stable bit is set.  
-command algebra.ssort_rev(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] 
-address ALGssort_rev;
-comment Returns copy of a BAT with the BUNs sorted on descending head values.        \
                This is a stable sort.
-
-command algebra.ssort(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] 
-address ALGssort;
-comment Returns copy of a BAT with the BUNs sorted on ascending head values.         \
                This is a stable sort.
-
-command algebra.sortTH(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] 
-address ALGthsort;
-comment Returns a lexicographically sorted copy on tail,head.
-
-command algebra.sortHT(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] 
-address ALGhtsort;
-comment Returns a lexicographically sorted copy on head,tail.
-
-command algebra.sortReverseTail(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] 
-address ALGtsort_rev;
-comment Returns a BAT copy reversely sorted on the tail column.
-
-command algebra.sortTail(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] 
-address ALGtsort;
-comment Returns a BAT copy sorted on the tail column.
-
-command algebra.sortReverse(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] 
-address ALGhsort_rev;
-comment Returns a BAT copy reversely sorted on the head column.
-
-command algebra.sort(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] 
-address ALGhsort;
-comment Returns a BAT copy sorted on the head column.
-
 command algebra.sample(b:bat[:oid,:any_1],num:int):bat[:oid,:oid] 
 address ALGsample;
 comment Returns the oids of a random selection of size 'num' from the input BAT.
 
-command algebra.subslice(b:bat[:oid,:any_1],x:wrd,y:wrd):bat[:oid,:oid] 
-address ALGsubslice_wrd;
-comment Return the oids of the slice with the BUNs at position x till y.
-
-command algebra.slice(b:bat[:any_1,:any_2],x:wrd,y:wrd):bat[:any_1,:any_2] 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic