Changeset: ac7b049e56da for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ac7b049e56da Added Files: sql/test/pg_regress/Tests/loadwisconsin.timeout sql/test/pg_regress/Tests/oid.stable.err.Windows.oid32 Removed Files: monetdb5/mal/Tests/performanceTests/tst901d.mal monetdb5/mal/Tests/prejoin.mal monetdb5/mal/Tests/tst017.stable.err monetdb5/mal/Tests/tst017.stable.out monetdb5/mal/Tests/tst1501.mal monetdb5/mal/Tests/tst1501.stable.err monetdb5/mal/Tests/tst1501.stable.out monetdb5/mal/Tests/tst253.mal monetdb5/mal/Tests/tst253.stable.err monetdb5/mal/Tests/tst253.stable.out monetdb5/mal/Tests/tst271.mal monetdb5/mal/Tests/tst277.mal monetdb5/mal/Tests/tst277.stable.err monetdb5/mal/Tests/tst277.stable.out monetdb5/mal/Tests/tst654.mal monetdb5/mal/Tests/tst654.stable.err monetdb5/mal/Tests/tst654.stable.out monetdb5/mal/Tests/tst655.mal monetdb5/mal/Tests/tst655.stable.err monetdb5/mal/Tests/tst655.stable.out monetdb5/modules/mal/Tests/mapi03.mal monetdb5/optimizer/Tests/RMexample.mal monetdb5/optimizer/Tests/tst4300.mal monetdb5/optimizer/Tests/tst4300.stable.err monetdb5/optimizer/Tests/tst4300.stable.out monetdb5/optimizer/Tests/tst4600.mal monetdb5/optimizer/Tests/tst4600.stable.err monetdb5/optimizer/Tests/tst4600.stable.out monetdb5/optimizer/Tests/tst4611.mal monetdb5/optimizer/Tests/tst4611.stable.err monetdb5/optimizer/Tests/tst4611.stable.out monetdb5/optimizer/Tests/tst4620.mal monetdb5/optimizer/Tests/tst4620.stable.err monetdb5/optimizer/Tests/tst4620.stable.out monetdb5/tests/BugReports/Tests/no.100.mal monetdb5/tests/BugReports/Tests/no.100.stable.err monetdb5/tests/BugReports/Tests/no.100.stable.out monetdb5/tests/gdkTests/Tests/void.mal monetdb5/tests/gdkTests/Tests/void.stable.err monetdb5/tests/gdkTests/Tests/void.stable.out sql/benchmarks/as3ap/NJAMD sql/benchmarks/as3ap/as3ap-load.sql sql/benchmarks/as3ap/as3ap-queries.sql sql/benchmarks/as3ap/as3ap-schema.sql sql/benchmarks/as3ap/as3ap.c sql/benchmarks/as3ap/as3ap.sh sql/benchmarks/as3ap/as3ap.sql sql/benchmarks/as3ap/drop.sql sql/benchmarks/as3ap/hundred.dat sql/benchmarks/as3ap/hundred.fmt sql/benchmarks/as3ap/run.all sql/benchmarks/as3ap/tenpct.dat sql/benchmarks/as3ap/tenpct.fmt sql/benchmarks/as3ap/uniques.dat sql/benchmarks/as3ap/uniques.fmt sql/benchmarks/as3ap/updates.dat sql/benchmarks/as3ap/updates.fmt sql/test/pg_regress/Tests/oid.stable.err.oid32.Windows Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.int128 clients/Tests/exports.stable.out gdk/ChangeLog gdk/gdk.h gdk/gdk_bat.c gdk/gdk_join.c gdk/gdk_join_legacy.c gdk/gdk_logger.c gdk/gdk_setop.c gdk/gdk_storage.c java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java monetdb5/ChangeLog monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/mal/Tests/All monetdb5/mal/Tests/performanceTests/join.mal monetdb5/mal/Tests/performanceTests/tst901c.mal monetdb5/mal/Tests/recycle05.stable.out monetdb5/mal/Tests/tst047.mal monetdb5/mal/Tests/tst047.stable.out monetdb5/mal/Tests/tst1502.stable.out monetdb5/mal/Tests/tst1504.stable.out monetdb5/mal/Tests/tst1602.stable.out monetdb5/mal/Tests/tst201.stable.out monetdb5/mal/Tests/tst230.mal monetdb5/mal/Tests/tst230.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/tst235.mal monetdb5/mal/Tests/tst235.stable.out monetdb5/mal/Tests/tst830.mal monetdb5/mal/Tests/tst830.stable.out monetdb5/mal/mal_authorize.c monetdb5/mal/mal_authorize.h monetdb5/mal/mal_private.h monetdb5/mal/mal_session.c monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/json.c monetdb5/modules/kernel/aggr.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/kernel/bat5.mal monetdb5/modules/mal/Tests/inspect05.mal monetdb5/modules/mal/Tests/inspect05.stable.out monetdb5/modules/mal/Tests/inspect05.stable.out.int128 monetdb5/modules/mal/Tests/remote03.stable.out monetdb5/modules/mal/Tests/remote88.mal monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/batcalc.c monetdb5/modules/mal/calc.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/clients.mal monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/mal_io.h monetdb5/modules/mal/mal_io.mal monetdb5/modules/mal/sysmon.c monetdb5/optimizer/Tests/All monetdb5/optimizer/Tests/DCexample.mal monetdb5/optimizer/opt_costModel.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_pushselect.c monetdb5/tests/BugReports/Tests/All sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.mal sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_result.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h sql/backends/monet5/sql_user.c sql/benchmarks/nobench/Tests/nobench.sql sql/benchmarks/nobench/Tests/nobench.stable.out sql/benchmarks/tpch/Tests/04-explain.stable.out sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 sql/benchmarks/tpch/Tests/13-explain.stable.out sql/benchmarks/tpch/Tests/13-explain.stable.out.32bit sql/benchmarks/tpch/Tests/15-explain.stable.out.int128 sql/benchmarks/tpch/Tests/16-explain.stable.out sql/benchmarks/tpch/Tests/18-explain.stable.out.int128 sql/benchmarks/tpch/Tests/20-explain.stable.out.int128 sql/benchmarks/tpch/Tests/21-explain.stable.out sql/benchmarks/tpch/Tests/22-explain.stable.out.int128 sql/server/sql_mvc.c sql/server/sql_mvc.h sql/storage/bat/bat_table.c sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/Tests/bogus-auto-generated-keys.stable.out sql/test/copy/Tests/key_copy.stable.err sql/test/leaks/Tests/check0.stable.out sql/test/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check1.stable.out.int128 sql/test/leaks/Tests/check2.stable.out sql/test/leaks/Tests/check2.stable.out.int128 sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check3.stable.out.int128 sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check4.stable.out.int128 sql/test/leaks/Tests/check5.stable.out sql/test/leaks/Tests/check5.stable.out.int128 sql/test/leaks/Tests/drop3.stable.out sql/test/leaks/Tests/drop3.stable.out.int128 sql/test/leaks/Tests/select1.stable.out sql/test/leaks/Tests/select1.stable.out.int128 sql/test/leaks/Tests/select2.stable.out sql/test/leaks/Tests/select2.stable.out.int128 sql/test/leaks/Tests/temp1.stable.out sql/test/leaks/Tests/temp1.stable.out.int128 sql/test/leaks/Tests/temp2.stable.out sql/test/leaks/Tests/temp2.stable.out.int128 sql/test/leaks/Tests/temp3.stable.out sql/test/leaks/Tests/temp3.stable.out.int128 sql/test/mapi/Tests/sql_int128.stable.out sql/test/mergetables/Tests/mergequery.stable.out sql/test/pg_regress/Tests/float8.sql sql/test/pg_regress/Tests/float8.stable.err.Windows sql/test/pg_regress/Tests/float8.stable.out sql/test/pg_regress/Tests/float8.stable.out.Windows sql/test/pg_regress/Tests/strings.stable.err Branch: leftmart Log Message:
Merge with default branch. diffs (truncated from 52870 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 @@ -2322,6 +2322,8 @@ command algebra.ilike(s:str,pat:str,esc: address PCREilike3; 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; +comment Deprecated, see algebra.subrangejoin. Range join + 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 @@ -2364,18 +2366,6 @@ command algebra.leftjoin(left:bat[:oid,: address ALGleftjoinestimate; command algebra.leftjoin(left:bat[:oid,:any_2],right:bat[:any_2,:any_3]):bat[:oid,:any_3] address ALGleftjoin; -command algebra.mark(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) - -command algebra.mark(b:bat[:any_1,:any_2]):bat[:any_1,:oid] -address ALGtmark_default; -comment Produces a BAT with fresh unique OIDs in the tail starting at 0@0. - -command algebra.mark(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] ). - command algebra.not_ilike(s:str,pat:str):bit address PCREnotilike2; command algebra.not_ilike(s:str,pat:str,esc:str):bit @@ -2420,6 +2410,14 @@ command algebra.slice(b:bat[:oid,:any_1] address ALGslice_oid; comment Return the slice based on head oid x till y (exclusive). +command algebra.subinter(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng):bat[:oid,:oid] +address ALGsubinter; +comment Intersection of l and r with candidate lists (i.e. half of semi-join) + +command algebra.subdiff(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng):bat[:oid,:oid] +address ALGsubdiff; +comment Difference of l and r with candidate lists + 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 @@ -2523,8 +2521,12 @@ comment Select all head values for which command algebra.tdiff(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] address ALGtdiff; +comment Deprecated, see algebra.subdiff + command algebra.tinter(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] address ALGtinter; +comment Deprecated, see algebra.semijoin + command algebra.thetasubselect(b:bat[:oid,:any_1],s:bat[:oid,:oid],val:any_1,op:str):bat[:oid,:oid] address ALGthetasubselect2; comment Select all head values of the first input BAT for which the tail value obeys the relation value OP VAL and for which the head value occurs in the tail of the second input BAT. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. @@ -2533,10 +2535,6 @@ command algebra.thetasubselect(b:bat[:oi address ALGthetasubselect1; comment Select all head values for which the tail value obeys the relation value OP VAL. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. -command algebra.tdifference(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] -address ALGtdifference; -command algebra.tintersect(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] -address ALGtintersect; command alarm.ctime{unsafe}():str address ALARMctime; comment Return the current time as a C-time string. @@ -37593,9 +37591,9 @@ pattern clients.changeUsername(old:str,n address CLTchangeUsername; comment Change the username of the user into the new string -pattern clients.getUsers():bat[:oid,:str] +pattern clients.getUsers() (X_1:bat[:oid,:oid],X_2:bat[:oid,:str]) address CLTgetUsers; -comment return a BAT with user id and name available in the system +comment return a BAT with user id and one with name available in the system pattern clients.getPasswordHash(user:str):str address CLTgetPasswordHash; @@ -40440,7 +40438,7 @@ pattern sql.argRecord():str address SQLargRecord; comment Glue together the calling sequence -pattern sql.affectedRows{unsafe}(mvc:int,nr:wrd,w:str):int +pattern sql.affectedRows{unsafe}(mvc:int,nr:wrd):int address mvc_affected_rows_wrap; comment export the number of affected rows by the current query @@ -40676,7 +40674,7 @@ comment Return column bat with delta's a command sql.epilogue():void address SQLepilogue; -pattern sql.exportOperation{unsafe}(w:str):void +pattern sql.exportOperation{unsafe}():void address mvc_export_operation_wrap; comment Export result of schema/transaction queries 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 @@ -2833,6 +2833,8 @@ command algebra.ilike(s:str,pat:str,esc: address PCREilike3; 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; +comment Deprecated, see algebra.subrangejoin. Range join + 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 @@ -2875,18 +2877,6 @@ command algebra.leftjoin(left:bat[:oid,: address ALGleftjoinestimate; command algebra.leftjoin(left:bat[:oid,:any_2],right:bat[:any_2,:any_3]):bat[:oid,:any_3] address ALGleftjoin; -command algebra.mark(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) - -command algebra.mark(b:bat[:any_1,:any_2]):bat[:any_1,:oid] -address ALGtmark_default; -comment Produces a BAT with fresh unique OIDs in the tail starting at 0@0. - -command algebra.mark(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] ). - command algebra.not_ilike(s:str,pat:str):bit address PCREnotilike2; command algebra.not_ilike(s:str,pat:str,esc:str):bit @@ -2931,6 +2921,14 @@ command algebra.slice(b:bat[:oid,:any_1] address ALGslice_oid; comment Return the slice based on head oid x till y (exclusive). +command algebra.subinter(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng):bat[:oid,:oid] +address ALGsubinter; +comment Intersection of l and r with candidate lists (i.e. half of semi-join) + +command algebra.subdiff(l:bat[:oid,:any_1],r:bat[:oid,:any_1],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng):bat[:oid,:oid] +address ALGsubdiff; +comment Difference of l and r with candidate lists + 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 @@ -3034,8 +3032,12 @@ comment Select all head values for which command algebra.tdiff(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] address ALGtdiff; +comment Deprecated, see algebra.subdiff + command algebra.tinter(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] address ALGtinter; +comment Deprecated, see algebra.semijoin + command algebra.thetasubselect(b:bat[:oid,:any_1],s:bat[:oid,:oid],val:any_1,op:str):bat[:oid,:oid] address ALGthetasubselect2; comment Select all head values of the first input BAT for which the tail value obeys the relation value OP VAL and for which the head value occurs in the tail of the second input BAT. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. @@ -3044,10 +3046,6 @@ command algebra.thetasubselect(b:bat[:oi address ALGthetasubselect1; comment Select all head values for which the tail value obeys the relation value OP VAL. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. -command algebra.tdifference(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] -address ALGtdifference; -command algebra.tintersect(left:bat[:oid,:oid],right:bat[:oid,:oid]):bat[:oid,:oid] -address ALGtintersect; command alarm.ctime{unsafe}():str address ALARMctime; comment Return the current time as a C-time string. @@ -48476,9 +48474,9 @@ pattern clients.changeUsername(old:str,n address CLTchangeUsername; comment Change the username of the user into the new string -pattern clients.getUsers():bat[:oid,:str] +pattern clients.getUsers() (X_1:bat[:oid,:oid],X_2:bat[:oid,:str]) address CLTgetUsers; -comment return a BAT with user id and name available in the system +comment return a BAT with user id and one with name available in the system pattern clients.getPasswordHash(user:str):str address CLTgetPasswordHash; @@ -51375,7 +51373,7 @@ pattern sql.argRecord():str address SQLargRecord; comment Glue together the calling sequence -pattern sql.affectedRows{unsafe}(mvc:int,nr:wrd,w:str):int +pattern sql.affectedRows{unsafe}(mvc:int,nr:wrd):int address mvc_affected_rows_wrap; comment export the number of affected rows by the current query @@ -51615,7 +51613,7 @@ comment Return column bat with delta's a command sql.epilogue():void address SQLepilogue; -pattern sql.exportOperation{unsafe}(w:str):void +pattern sql.exportOperation{unsafe}():void address mvc_export_operation_wrap; comment Export result of schema/transaction queries diff --git a/clients/Tests/SQL-dump.stable.out b/clients/Tests/SQL-dump.stable.out --- a/clients/Tests/SQL-dump.stable.out +++ b/clients/Tests/SQL-dump.stable.out @@ -48,6 +48,10 @@ Ready. # loading sql script: 75_storagemodel.sql # loading sql script: 80_statistics.sql # loading sql script: 80_udf.sql +# loading sql script: 80_udf_hge.sql +# loading sql script: 85_bam.sql +# loading sql script: 90_generator.sql +# loading sql script: 90_generator_hge.sql # loading sql script: 99_system.sql # 15:19:38 > diff --git a/clients/Tests/SQL-dump.stable.out.int128 b/clients/Tests/SQL-dump.stable.out.int128 --- a/clients/Tests/SQL-dump.stable.out.int128 +++ b/clients/Tests/SQL-dump.stable.out.int128 @@ -44,6 +44,10 @@ Ready. # loading sql script: 75_storagemodel.sql # loading sql script: 80_statistics.sql # loading sql script: 80_udf.sql +# loading sql script: 80_udf_hge.sql +# loading sql script: 85_bam.sql +# loading sql script: 90_generator.sql +# loading sql script: 90_generator_hge.sql # loading sql script: 99_system.sql # 15:16:56 > 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 @@ -142,7 +142,6 @@ BAT *BATintersectcand(BAT *a, BAT *b); BAT *BATjoin(BAT *l, BAT *r, BUN estimate); BAT *BATkdiff(BAT *b, BAT *c); gdk_return BATkey(BAT *b, int onoff); -BAT *BATkintersect(BAT *b, BAT *c); BAT *BATleftfetchjoin(BAT *b, BAT *s, BUN estimate); BAT *BATleftjoin(BAT *l, BAT *r, BUN estimate); BAT *BATmark(BAT *b, oid base); @@ -189,6 +188,7 @@ BAT *BATssort(BAT *b); BAT *BATssort_rev(BAT *b); gdk_return BATsubbandjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, const void *c1, const void *c2, int li, int hi, BUN estimate); gdk_return BATsubcross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr); +BAT *BATsubdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); gdk_return BATsubjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); gdk_return BATsubleftfetchjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); gdk_return BATsubleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); @@ -777,6 +777,8 @@ str ALGssort_rev(bat *result, const bat str ALGstdev(dbl *res, const bat *bid); str ALGstdevp(dbl *res, const bat *bid); str ALGsubbandjoin(bat *r1, bat *r2, const bat *lid, const bat *rid, const bat *slid, const bat *srid, const void *low, const void *high, const bit *li, const bit *hi, const lng *estimate); +str ALGsubdiff(bat *r1, const bat *lid, const bat *rid, const bat *slid, const bat *srid, const bit *nil_matches, const lng *estimate); +str ALGsubinter(bat *r1, const bat *lid, const bat *rid, const bat *slid, const bat *srid, const bit *nil_matches, const lng *estimate); str ALGsubjoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate); str ALGsubleftjoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate); str ALGsubouterjoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate); @@ -798,14 +800,12 @@ 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 ALGtdifference(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); -str ALGtintersect(bat *result, const bat *lid, const bat *rid); str ALGtmark(bat *result, const bat *bid, const oid *base); str ALGtmark_default(bat *result, const bat *bid); str ALGtmarkp(bat *result, const bat *bid, const int *nr_parts, const int *part_nr); @@ -813,18 +813,17 @@ str ALGtsort(bat *result, const bat *bid str ALGtsort_rev(bat *result, const bat *bid); str ALGvariance(dbl *res, const bat *bid); str ALGvariancep(dbl *res, const bat *bid); -str AUTHaddUser(oid *ret, Client *c, str *user, str *pass); -str AUTHchangePassword(Client *c, str *oldpass, str *passwd); -str AUTHchangeUsername(Client *c, str *olduser, str *newuser); -str AUTHcheckCredentials(oid *ret, Client *c, str *user, str *passwd, str *challenge, str *algo); -str AUTHgetPasswordHash(str *ret, Client *c, str *username); -str AUTHgetUsername(str *ret, Client *c); -str AUTHgetUsers(BAT **ret, Client *c); +str AUTHaddUser(oid *ret, Client c, str *user, str *pass); +str AUTHchangePassword(Client c, str *oldpass, str *passwd); +str AUTHchangeUsername(Client c, str *olduser, str *newuser); +str AUTHcheckCredentials(oid *ret, Client c, str *user, str *passwd, str *challenge, str *algo); +str AUTHgetPasswordHash(str *ret, Client c, str *username); +str AUTHgetUsername(str *ret, Client c); +str AUTHgetUsers(BAT **ret1, BAT **ret2, Client c); str AUTHinitTables(str *passwd); -str AUTHremoveUser(Client *c, str *username); -str AUTHrequireAdmin(Client *c); +str AUTHremoveUser(Client c, str *username); str AUTHresolveUser(str *ret, oid *uid); -str AUTHsetPassword(Client *c, str *username, str *passwd); +str AUTHsetPassword(Client c, str *username, str *passwd); str AUTHunlockVault(str *password); str BATPCREilike(bat *ret, const bat *b, const str *pat, const str *esc); str BATPCREilike2(bat *ret, const bat *b, const str *pat); @@ -1305,12 +1304,8 @@ str INSPECTgetkind(Client cntxt, MalBlkP _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list