Changeset: f364214abc46 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f364214abc46 Modified Files: clients/Tests/MAL-signatures.stable.err clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures_gsl.stable.out clients/Tests/MAL-signatures_nocfitsio.stable.err clients/Tests/MAL-signatures_nocfitsio.stable.out clients/Tests/MAL-signatures_sphinxclient.stable.err clients/Tests/MAL-signatures_sphinxclient.stable.out clients/Tests/SQL-dump.stable.err clients/Tests/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.32bit clients/Tests/SQL-dump.stable.out.64bit.oid32 clients/Tests/SQL-dump_gsl.stable.out clients/Tests/SQL-dump_gsl.stable.out.oid32 clients/Tests/SQL-dump_nogeom.stable.err clients/Tests/SQL-dump_nogeom.stable.out sql/test/Tests/systemfunctions.stable.err sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions_nogeom.stable.err sql/test/Tests/systemfunctions_nogeom.stable.out sql/test/leaks/Tests/check0.stable.err sql/test/leaks/Tests/check0.stable.out sql/test/leaks/Tests/check0_nogeom.stable.err sql/test/leaks/Tests/check0_nogeom.stable.out sql/test/leaks/Tests/check1.stable.err sql/test/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check1_nogeom.stable.err sql/test/leaks/Tests/check1_nogeom.stable.out sql/test/leaks/Tests/check2.stable.err sql/test/leaks/Tests/check2.stable.out sql/test/leaks/Tests/check2_nogeom.stable.err sql/test/leaks/Tests/check2_nogeom.stable.out sql/test/leaks/Tests/check3.stable.err sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check3_nogeom.stable.err sql/test/leaks/Tests/check3_nogeom.stable.out sql/test/leaks/Tests/check4.stable.err sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check4_nogeom.stable.err sql/test/leaks/Tests/check4_nogeom.stable.out sql/test/leaks/Tests/check5.stable.err sql/test/leaks/Tests/check5.stable.out sql/test/leaks/Tests/check5_nogeom.stable.err sql/test/leaks/Tests/check5_nogeom.stable.out sql/test/leaks/Tests/drop3.stable.err sql/test/leaks/Tests/drop3.stable.out sql/test/leaks/Tests/drop3_nogeom.stable.err sql/test/leaks/Tests/drop3_nogeom.stable.out sql/test/leaks/Tests/select1.stable.err sql/test/leaks/Tests/select1.stable.out sql/test/leaks/Tests/select1_nogeom.stable.err sql/test/leaks/Tests/select1_nogeom.stable.out sql/test/leaks/Tests/select2.stable.err sql/test/leaks/Tests/select2.stable.out sql/test/leaks/Tests/select2_nogeom.stable.err sql/test/leaks/Tests/select2_nogeom.stable.out sql/test/leaks/Tests/temp1.stable.err sql/test/leaks/Tests/temp1.stable.out sql/test/leaks/Tests/temp1_nogeom.stable.err sql/test/leaks/Tests/temp1_nogeom.stable.out sql/test/leaks/Tests/temp2.stable.err sql/test/leaks/Tests/temp2.stable.out sql/test/leaks/Tests/temp2_nogeom.stable.err sql/test/leaks/Tests/temp2_nogeom.stable.out sql/test/leaks/Tests/temp3.stable.err sql/test/leaks/Tests/temp3.stable.out sql/test/leaks/Tests/temp3_nogeom.stable.err sql/test/leaks/Tests/temp3_nogeom.stable.out Branch: default Log Message:
Merge with default diffs (truncated from 4004 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.err b/clients/Tests/MAL-signatures.stable.err --- a/clients/Tests/MAL-signatures.stable.err +++ b/clients/Tests/MAL-signatures.stable.err @@ -1,11 +1,11 @@ stderr of test 'MAL-signatures` in directory 'clients` itself: -# 20:07:36 > -# 20:07:36 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=31131" "--set" "mapi_usock=/var/tmp/mtest-1103/.s.monetdb.31131" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/manegold/_/Monet/HG/Feb2013/prefix/--disable-debug_--enable-assert_--enable-optimize/var/MonetDB/mTests_clients" "MAL-signatures.mal" -# 20:07:36 > +# 14:24:10 > +# 14:24:10 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=31236" "--set" "mapi_usock=/var/tmp/mtest-21213/.s.monetdb.31236" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_clients" "--set" "mal_listing=2" +# 14:24:10 > -# builtin opt gdk_dbpath = /ufs/manegold/_/Monet/HG/Feb2013/prefix/--disable-debug_--enable-assert_--enable-optimize/var/monetdb5/dbfarm/demo +# builtin opt gdk_dbpath = /ufs/sjoerd/Monet-candidate/var/monetdb5/dbfarm/demo # builtin opt gdk_debug = 0 # builtin opt gdk_vmtrim = yes # builtin opt monet_prompt = > @@ -17,13 +17,19 @@ stderr of test 'MAL-signatures` in direc # builtin opt sql_debug = 0 # cmdline opt gdk_nr_threads = 0 # cmdline opt mapi_open = true -# cmdline opt mapi_port = 31131 -# cmdline opt mapi_usock = /var/tmp/mtest-1103/.s.monetdb.31131 +# cmdline opt mapi_port = 31236 +# cmdline opt mapi_usock = /var/tmp/mtest-21213/.s.monetdb.31236 # cmdline opt monet_prompt = # cmdline opt mal_listing = 2 -# cmdline opt gdk_dbpath = /ufs/manegold/_/Monet/HG/Feb2013/prefix/--disable-debug_--enable-assert_--enable-optimize/var/MonetDB/mTests_clients +# cmdline opt gdk_dbpath = /ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_clients +# cmdline opt mal_listing = 2 -# 20:07:38 > -# 20:07:38 > "Done." -# 20:07:38 > +# 14:24:10 > +# 14:24:10 > "mclient" "-lmal" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-21213" "--port=31236" +# 14:24:10 > + +# 14:24:13 > +# 14:24:13 > "Done." +# 14:24:13 > + 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 @@ -1,11 +1,11 @@ stdout of test 'MAL-signatures` in directory 'clients` itself: -# 20:07:36 > -# 20:07:36 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=31131" "--set" "mapi_usock=/var/tmp/mtest-1103/.s.monetdb.31131" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/manegold/_/Monet/HG/Feb2013/prefix/--disable-debug_--enable-assert_--enable-optimize/var/MonetDB/mTests_clients" "MAL-signatures.mal" -# 20:07:36 > - -# MonetDB 5 server v11.15.12 +# 14:24:10 > +# 14:24:10 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=31236" "--set" "mapi_usock=/var/tmp/mtest-21213/.s.monetdb.31236" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_clients" "--set" "mal_listing=2" +# 14:24:10 > + +# MonetDB 5 server v11.17.0 # This is an unreleased version # Serving database 'mTests_clients', using 8 threads # Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked @@ -13,17 +13,17 @@ stdout of test 'MAL-signatures` in direc # Copyright (c) 1993-July 2008 CWI. # Copyright (c) August 2008-2014 MonetDB B.V., all rights reserved # Visit http://www.monetdb.org/ for further information -# Listening for connection requests on mapi:monetdb://rome.ins.cwi.nl:31131/ -# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-1103/.s.monetdb.31131 +# Listening for connection requests on mapi:monetdb://madrid.ins.cwi.nl:31236/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-21213/.s.monetdb.31236 # MonetDB/GIS module loaded # MonetDB/JAQL module loaded # MonetDB/SQL module loaded Ready. -# 00:44:35 > -# 00:44:35 > "mclient" "-lmal" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-13629" "--port=31724" -# 00:44:35 > +# 14:24:10 > +# 14:24:10 > "mclient" "-lmal" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-21213" "--port=31236" +# 14:24:10 > #?*) command aggr.avg(b:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_1]) (X_4:bat[:oid,:dbl],X_5:bat[:oid,:wrd]) @@ -38862,7 +38862,7 @@ comment Abort a query after n seconds. pattern clients.setsession(n:lng):void address CLTsetSessionTimeout; -comment Abort a session after n seconds. +comment Abort a session after n seconds. pattern clients.suspend(id:int):void address CLTsuspend; @@ -43375,7 +43375,7 @@ address rule_fromstr; command zrule.#tostr():str address rule_tostr; -# 20:07:38 > -# 20:07:38 > "Done." -# 20:07:38 > - +# 14:24:13 > +# 14:24:13 > "Done." +# 14:24:13 > + diff --git a/clients/Tests/MAL-signatures_gsl.stable.out b/clients/Tests/MAL-signatures_gsl.stable.out --- a/clients/Tests/MAL-signatures_gsl.stable.out +++ b/clients/Tests/MAL-signatures_gsl.stable.out @@ -220,11 +220,11 @@ comment Return the cardinality of the BA command aggr.count_no_nil(b:bat[:any_1,:any_2]):wrd address ALGcount_no_nil; -comment Return the number of elements currently in a BAT ignoring BUNs with nil-tail +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 address ALGcount_nil; -comment Return the number of elements currently in a BAT ignores BUNs with nil-tail iff ignore_nils==TRUE. +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 address ALGcount_bat; @@ -2360,7 +2360,7 @@ 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 +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.antiuselect(b:bat[:any_1,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:any_1,:void] address ALGantiuselectInclusive; @@ -2368,19 +2368,19 @@ comment See select() but limited to head command algebra.antiuselect(b:bat[:any_1,:any_2],value:any_2):bat[:any_1,:void] address ALGantiuselect1; -comment Value select, but returning only the head values. SEE ALSO:select(bat,val) +comment Value select, but returning only the head values. SEE ALSO:select(bat,val) 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. +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. +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. +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[:any_1,:any_2],right:bat[:any_3,:any_4]):bat[:any_1,:any_4] address ALGcross; @@ -2388,7 +2388,7 @@ comment Returns the cross product 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 +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] address ALGcopy; @@ -2410,7 +2410,7 @@ comment Select both on head and tail ran command algebra.fetch(b:bat[:any_2,:any_1],x:int):any_1 address ALGfetchint; -comment Returns the tail value of the BUN at x-th position with 0 <= x < b.count +comment Returns the tail value of the BUN at x-th position with 0 <= x < b.count command algebra.fetch(b:bat[:any_2,:any_1],x:lng):any_1 address ALGfetch; @@ -2418,7 +2418,7 @@ command algebra.fetch(b:bat[:any_2,:any_ address ALGfetchoid; command algebra.find(b:bat[:any_1,:any_2],h:any_1):any_2 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 tail value 't' for which some [h,t] BUN exists in b. If no such BUN exists, an error occurs. command algebra.groupby(gids:bat[:oid,:oid],cnts:bat[:oid,:wrd]):bat[:oid,:oid] address ALGgroupby; @@ -2446,29 +2446,29 @@ command algebra.join(left:bat[:any_1,:an 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). +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 +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.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. If you want this, do: 'kunion(left.kunique,right.kunique)' or: 'sunion(left,right).kunique'. +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. If you want this, do: 'kunion(left.kunique,right.kunique)' or: 'sunion(left,right).kunique'. command algebra.kdifference(left:bat[:any_1,:any_2],right:bat[:any_1,:any]):bat[:any_1,:any_2] address ALGkdiff; -comment Returns the difference taken over only the *head* columns of two BATs. Results in all BUNs of 'left' that are *not* in 'right'. It does *not* do double-elimination over the 'left' BUNs. If you want this, use: 'kdifference(left.kunique,right.kunique)' or: 'kdifference(left,right).kunique'. +comment Returns the difference taken over only the *head* columns of two BATs. Results in all BUNs of 'left' that are *not* in 'right'. It does *not* do double-elimination over the 'left' BUNs. If you want this, use: 'kdifference(left.kunique,right.kunique)' or: 'kdifference(left,right).kunique'. command algebra.kintersect(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))'. +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.kunique(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] address ALGkunique; -comment Select unique tuples from the input BAT. Double elimination is done only looking at the head column. The result is a BAT with property hkeyed() == true. +comment Select unique tuples from the input BAT. Double elimination is done only looking at the head column. The result is a BAT with property hkeyed() == true. pattern algebra.leftfetchjoinPath(l:bat[:any,:any]...):bat[:any,:any] address ALGjoinPath; @@ -2519,11 +2519,11 @@ comment "grouped mark": Produces a new B command algebra.markH(b:bat[:any_1,:any_2],nr_parts:int,part_nr:int):bat[:oid,:any_2] address ALGhmarkp; -comment Produces a BAT with fresh unique dense sequense of OIDs in the head that starts at base (i.e. [base,..base+b.count()-1] ). The base is uniquely defined by the part_nr (ie we set the highest bits based on the part_nr/nr_parts) +comment Produces a BAT with fresh unique dense sequense of OIDs in the head that starts at base (i.e. [base,..base+b.count()-1] ). The base is uniquely defined by the part_nr (ie we set the highest bits based on the part_nr/nr_parts) command algebra.markH(b:bat[:any_1,:any_2],base:oid):bat[:oid,:any_2] address ALGmarkHead; -comment Produces a new BAT with fresh unique dense sequense of OIDs in the head that starts at base (i.e. [base,..base+b.count()-1] ). +comment Produces a new BAT with fresh unique dense sequense of OIDs in the head that starts at base (i.e. [base,..base+b.count()-1] ). command algebra.markH(b:bat[:any_1,:any_2]):bat[:oid,:any_2] address ALGmarkHead_default; @@ -2531,7 +2531,7 @@ comment Produces a BAT with fresh OIDs i command algebra.markT(b:bat[:any_1,:any_2],nr_parts:int,part_nr:int):bat[:any_1,:oid] address ALGtmarkp; -comment Produces a BAT with fresh unique dense sequense of OIDs in the tail that starts at base (i.e. [base,..base+b.count()-1] ). The base is uniquely defined by the part_nr (ie we set the highest bits based on the part_nr/nr_parts) +comment Produces a BAT with fresh unique dense sequense of OIDs in the tail that starts at base (i.e. [base,..base+b.count()-1] ). The base is uniquely defined by the part_nr (ie we set the highest bits based on the part_nr/nr_parts) command algebra.markT(b:bat[:any_1,:any_2]):bat[:any_1,:oid] address ALGtmark_default; @@ -2539,21 +2539,21 @@ comment Produces a BAT with fresh unique command algebra.markT(b:bat[:any_1,:any_2],base:oid):bat[:any_1,:oid] address ALGtmark; -comment Produces a BAT with fresh unique dense sequense of OIDs in the tail that starts at base (i.e. [base,..base+b.count()-1] ). +comment Produces a BAT with fresh unique dense sequense of OIDs in the tail that starts at base (i.e. [base,..base+b.count()-1] ). 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'. +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'. +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'. +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.prejoin(a:bat[:oid,:oid],b:bat[:oid,:any_1]) (c:bat[:oid,:oid],d:bat[:oid,:any_1]) address ALGprejoin; @@ -2573,11 +2573,11 @@ comment Extract the head of a BAT. command algebra.position(b:bat[:any_1,:any_2],val:any_1,tval:any_2):wrd address ALGpositionBUN; -comment Returns the position of the value pair It returns an error if 'val' does not exist. +comment Returns the position of the value pair It returns an error if 'val' does not exist. command algebra.position(b:bat[:any_1,:any_2],v:any_1):wrd address ALGposition; -comment Returns BAT position [0.. b.count] of 'v' in the head column of b. It Return an error if 'v' does not exist. +comment Returns BAT position [0.. b.count] of 'v' in the head column of b. It Return an error if 'v' does not exist. command algebra.reuse(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] address ALGreuse; @@ -2609,23 +2609,23 @@ comment Join command algebra.sunion(left:bat[:any_1,:any_2],right:bat[:any_1,:any_2]):bat[:any_1,:any_2] address ALGsunion; -comment Returns the union of two BATs; looking at both columns of both BATs. Results in all BUNs of 'left' that are not in 'right', plus all BUNs of 'right'. *no* double-elimination is done. If you want this, do: 'sunion(left.sunique,right.sunique)' or: 'sunion(left,right).sunique'. +comment Returns the union of two BATs; looking at both columns of both BATs. Results in all BUNs of 'left' that are not in 'right', plus all BUNs of 'right'. *no* double-elimination is done. If you want this, do: 'sunion(left.sunique,right.sunique)' or: 'sunion(left,right).sunique'. command algebra.sdifference(left:bat[:any_1,:any_2],right:bat[:any_1,:any_2]):bat[:any_1,:any_2] address ALGsdiff; -comment Returns the difference taken over *both* columns of two BATs. Results in all BUNs of 'left' that are *not* in 'right'. Does *not* do double-elimination over the 'left' BUNs. If you want this, use: 'sdifference(left.sunique,right.sunique)' or: 'sdifference(left,right).sunique'. +comment Returns the difference taken over *both* columns of two BATs. Results in all BUNs of 'left' that are *not* in 'right'. Does *not* do double-elimination over the 'left' BUNs. If you want this, use: 'sdifference(left.sunique,right.sunique)' or: 'sdifference(left,right).sunique'. 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))'. _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list