Changeset: 4ceb98db7dd5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4ceb98db7dd5 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out Branch: subquery Log Message:
approved output diffs (162 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 @@ -122,9 +122,11 @@ Ready. [ "aggr", "jsonaggr", "command aggr.jsonaggr(val:bat[:str]):str ", "JSONgroupStr;", "Aggregate the string values to array." ] [ "aggr", "max", "command aggr.max(b:bat[:any_1], g:bat[:oid], e:bat[:any_2]):bat[:any_1] ", "AGGRmax3;", "" ] [ "aggr", "max", "command aggr.max(b:bat[:any_2]):any_2 ", "ALGmaxany;", "Return the highest tail value or nil." ] +[ "aggr", "max", "command aggr.max(b:bat[:any_2], skipnil:bit):any_2 ", "ALGmaxany_skipnil;", "Return the highest tail value or nil." ] [ "aggr", "median", "command aggr.median(b:bat[:any_1]):any_1 ", "AGGRmedian;", "Median aggregate" ] [ "aggr", "min", "command aggr.min(b:bat[:any_1], g:bat[:oid], e:bat[:any_2]):bat[:any_1] ", "AGGRmin3;", "" ] [ "aggr", "min", "command aggr.min(b:bat[:any_2]):any_2 ", "ALGminany;", "Return the lowest tail value or nil." ] +[ "aggr", "min", "command aggr.min(b:bat[:any_2], skipnil:bit):any_2 ", "ALGminany_skipnil;", "Return the lowest tail value or nil." ] [ "aggr", "prod", "command aggr.prod(b:bat[:bte], g:bat[:oid], e:bat[:any_1]):bat[:bte] ", "AGGRprod3_bte;", "Grouped tail product on bte" ] [ "aggr", "prod", "command aggr.prod(b:bat[:dbl], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRprod3_dbl;", "Grouped tail product on dbl" ] [ "aggr", "prod", "command aggr.prod(b:bat[:flt], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRprod3_dbl;", "Grouped tail product on flt" ] @@ -293,6 +295,7 @@ Ready. [ "aggr", "subcovar", "function aggr.subcovar(e1:bat[:int], e2:bat[:int], g:bat[:oid], e:bat[:any_2], f:bit):bat[:dbl];", "", "" ] [ "aggr", "subcovar", "function aggr.subcovar(e1:bat[:lng], e2:bat[:lng], g:bat[:oid], e:bat[:any_2], f:bit):bat[:dbl];", "", "" ] [ "aggr", "subcovar", "function aggr.subcovar(e1:bat[:sht], e2:bat[:sht], g:bat[:oid], e:bat[:any_2], f:bit):bat[:dbl];", "", "" ] +[ "aggr", "subexist", "command aggr.subexist(b:bat[:any_2], g:bat[:oid], e:bat[:oid], no_nil:bit):bat[:bit] ", "SQLsubexist;", "" ] [ "aggr", "subjsonaggr", "command aggr.subjsonaggr(val:bat[:dbl], g:bat[:oid], e:bat[:any_1], skip_nils:bit):bat[:str] ", "JSONsubjson;", "Grouped aggregation of values." ] [ "aggr", "subjsonaggr", "command aggr.subjsonaggr(val:bat[:str], g:bat[:oid], e:bat[:any_1], skip_nils:bit):bat[:str] ", "JSONsubjson;", "Grouped aggregation of values." ] [ "aggr", "subjsonaggr", "command aggr.subjsonaggr(val:bat[:dbl], g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit):bat[:str] ", "JSONsubjsoncand;", "Grouped aggregation of values with candidates list." ] @@ -11640,12 +11643,16 @@ Ready. [ "sql", "abort", "pattern sql.abort():void ", "SQLabort;", "Trigger the abort operation for a MAL block" ] [ "sql", "affectedRows", "unsafe pattern sql.affectedRows(mvc:int, nr:lng):int ", "mvc_affected_rows_wrap;", "export the number of affected rows by the current query" ] [ "sql", "all", "inline function sql.all(b:bat[:any_1], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:any_1];", "", "" ] -[ "sql", "all", "command sql.all(col:bat[:any_1]):any_1 ", "SQLall;", "if col contains exactly one value return this. Incase of more raise an exception else return nil" ] +[ "sql", "all", "command sql.all(col:bat[:any_1]):any_1 ", "SQLall;", "if all values in col are equal return this, else nil" ] +[ "sql", "all", "command sql.all(cmp:bit, nl:bit, nr:bit):bit ", "SQLall_cmp;", "if !cmp then false, (nl or nr) then nil, else true" ] +[ "sql", "allnotequal", "command sql.allnotequal(l:bat[:any_1], r:bat[:any_1]):bit ", "SQLallnotequal;", "if all values in r are not equal to l return true, else if r has nil nil else false" ] [ "sql", "alpha", "command sql.alpha(dec:dbl, theta:dbl):dbl ", "SQLcst_alpha_cst;", "Implementation of astronomy alpha function: expands the radius theta depending on the declination" ] [ "sql", "analyze", "pattern sql.analyze(minmax:int, sample:lng):void ", "sql_analyze;", "" ] [ "sql", "analyze", "pattern sql.analyze(minmax:int, sample:lng, sch:str):void ", "sql_analyze;", "" ] [ "sql", "analyze", "pattern sql.analyze(minmax:int, sample:lng, sch:str, tbl:str):void ", "sql_analyze;", "" ] [ "sql", "analyze", "pattern sql.analyze(minmax:int, sample:lng, sch:str, tbl:str, col:str):void ", "sql_analyze;", "Update the database statistics table" ] +[ "sql", "any", "command sql.any(cmp:bit, nl:bit, nr:bit):bit ", "SQLany_cmp;", "if cmp then true, (nl or nr) nil then nil, else false" ] +[ "sql", "anyequal", "command sql.anyequal(l:bat[:any_1], r:bat[:any_1]):bit ", "SQLanyequal;", "if any value in r is equal to l return true, else if r has nil nil else false" ] [ "sql", "append", "pattern sql.append(mvc:int, sname:str, tname:str, cname:str, ins:any):int ", "mvc_append_wrap;", "Append to the column tname.cname (possibly optimized to replace the insert bat of tname.cname. Returns sequence number for order dependence." ] [ "sql", "argRecord", "pattern sql.argRecord():str ", "SQLargRecord;", "Glue together the calling sequence" ] [ "sql", "argRecord", "pattern sql.argRecord(a:any...):str ", "SQLargRecord;", "Glue together the calling sequence" ] @@ -11751,6 +11758,7 @@ Ready. [ "sql", "nth_value", "pattern sql.nth_value(b:any_1, n:bat[:any_2], s:lng, e:lng):any_1 ", "SQLnth_value;", "return the nth value of each group" ] [ "sql", "ntile", "pattern sql.ntile(b:any_1, n:any_2, p:any_3, o:any_4):any_2 ", "SQLntile;", "return the groups divided as equally as possible" ] [ "sql", "ntile", "pattern sql.ntile(b:any_1, n:bat[:any_2], p:any_3, o:any_4):any_2 ", "SQLntile;", "return the groups divided as equally as possible" ] +[ "sql", "null", "command sql.null(b:bat[:any_1]):bit ", "SQLnil;", "if b has a nil return true, else false" ] [ "sql", "optimizer_updates", "pattern sql.optimizer_updates():void ", "SQLoptimizersUpdate;", "" ] [ "sql", "optimizers", "command sql.optimizers() (X_0:bat[:str], X_1:bat[:str], X_2:bat[:str]) ", "getPipeCatalog;", "" ] [ "sql", "password", "pattern sql.password(user:str):str ", "db_password_wrap;", "Return password hash of user" ] @@ -11805,6 +11813,10 @@ Ready. [ "sql", "storage", "pattern sql.storage(sname:str) (schema:bat[:str], table:bat[:str], column:bat[:str], type:bat[:str], mode:bat[:str], location:bat[:str], count:bat[:lng], atomwidth:bat[:int], columnsize:bat[:lng], heap:bat[:lng], hashes:bat[:lng], phash:bat[:bit], imprints:bat[:lng], sorted:bat[:bit], revsorted:bat[:bit], key:bat[:bit], orderidx:bat[:lng]) ", "sql_storage;", "return a table with storage information for a particular schema " ] [ "sql", "storage", "pattern sql.storage(sname:str, tname:str) (schema:bat[:str], table:bat[:str], column:bat[:str], type:bat[:str], mode:bat[:str], location:bat[:str], count:bat[:lng], atomwidth:bat[:int], columnsize:bat[:lng], heap:bat[:lng], hashes:bat[:lng], phash:bat[:bit], imprints:bat[:lng], sorted:bat[:bit], revsorted:bat[:bit], key:bat[:bit], orderidx:bat[:lng]) ", "sql_storage;", "return a table with storage information for a particular table" ] [ "sql", "storage", "pattern sql.storage(sname:str, tname:str, cname:str) (schema:bat[:str], table:bat[:str], column:bat[:str], type:bat[:str], mode:bat[:str], location:bat[:str], count:bat[:lng], atomwidth:bat[:int], columnsize:bat[:lng], heap:bat[:lng], hashes:bat[:lng], phash:bat[:bit], imprints:bat[:lng], sorted:bat[:bit], revsorted:bat[:bit], key:bat[:bit], orderidx:bat[:lng]) ", "sql_storage;", "return a table with storage information for a particular column" ] +[ "sql", "suballnotequal", "command sql.suballnotequal(l:bat[:any_1], r:bat[:any_1], rid:bat[:oid], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:bit] ", "SQLallnotequal_grp2;", "if all values in r are not equal to l return true, else if r has nil nil else false, except if rid is nil (ie empty) then true" ] +[ "sql", "suballnotequal", "command sql.suballnotequal(l:bat[:any_1], r:bat[:any_1], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:bit] ", "SQLallnotequal_grp;", "if all values in r are not equal to l return true, else if r has nil nil else false" ] +[ "sql", "subanyequal", "command sql.subanyequal(l:bat[:any_1], r:bat[:any_1], rid:bat[:oid], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:bit] ", "SQLanyequal_grp2;", "if any value in r is equal to l return true, else if r has nil nil else false, except if rid is nil (ie empty) then false" ] +[ "sql", "subanyequal", "command sql.subanyequal(l:bat[:any_1], r:bat[:any_1], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:bit] ", "SQLanyequal_grp;", "if any value in r is equal to l return true, else if r has nil nil else false" ] [ "sql", "subdelta", "command sql.subdelta(col:bat[:oid], cand:bat[:oid], uid:bat[:oid], uval:bat[:oid]):bat[:oid] ", "DELTAsub2;", "Return a single bat of selected delta." ] [ "sql", "subdelta", "command sql.subdelta(col:bat[:oid], cand:bat[:oid], uid:bat[:oid], uval:bat[:oid], ins:bat[:oid]):bat[:oid] ", "DELTAsub;", "Return a single bat of selected delta." ] [ "sql", "subzero_or_one", "inline function sql.subzero_or_one(b:bat[:any_1], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:any_1];", "", "" ] @@ -11850,6 +11862,8 @@ Ready. [ "sql", "window_bound", "pattern sql.window_bound(p:bit, b:any_1, unit:int, bound:int, excl:int, limit:lng):lng ", "SQLwindow_bound;", "computes window ranges for each row" ] [ "sql", "window_bound", "pattern sql.window_bound(p:bit, b:any_1, unit:int, bound:int, excl:int, limit:sht):lng ", "SQLwindow_bound;", "computes window ranges for each row" ] [ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1]):any_1 ", "zero_or_one;", "if col contains exactly one value return this. Incase of more raise an exception else return nil" ] +[ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1], err:bit):any_1 ", "zero_or_one_error;", "if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil" ] +[ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1], err:bat[:bit]):any_1 ", "zero_or_one_error_bat;", "if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil" ] [ "sqlcatalog", "alter_add_range_partition", "pattern sqlcatalog.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:any_1, max:any_1, nills:int, update:int):void ", "SQLalter_add_range_partition;", "Catalog operation alter_add_range_partition" ] [ "sqlcatalog", "alter_add_table", "pattern sqlcatalog.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "SQLalter_add_table;", "Catalog operation alter_add_table" ] [ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] 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 @@ -130,9 +130,11 @@ Ready. [ "aggr", "jsonaggr", "command aggr.jsonaggr(val:bat[:str]):str ", "JSONgroupStr;", "Aggregate the string values to array." ] [ "aggr", "max", "command aggr.max(b:bat[:any_1], g:bat[:oid], e:bat[:any_2]):bat[:any_1] ", "AGGRmax3;", "" ] [ "aggr", "max", "command aggr.max(b:bat[:any_2]):any_2 ", "ALGmaxany;", "Return the highest tail value or nil." ] +[ "aggr", "max", "command aggr.max(b:bat[:any_2], skipnil:bit):any_2 ", "ALGmaxany_skipnil;", "Return the highest tail value or nil." ] [ "aggr", "median", "command aggr.median(b:bat[:any_1]):any_1 ", "AGGRmedian;", "Median aggregate" ] [ "aggr", "min", "command aggr.min(b:bat[:any_1], g:bat[:oid], e:bat[:any_2]):bat[:any_1] ", "AGGRmin3;", "" ] [ "aggr", "min", "command aggr.min(b:bat[:any_2]):any_2 ", "ALGminany;", "Return the lowest tail value or nil." ] +[ "aggr", "min", "command aggr.min(b:bat[:any_2], skipnil:bit):any_2 ", "ALGminany_skipnil;", "Return the lowest tail value or nil." ] [ "aggr", "prod", "command aggr.prod(b:bat[:bte], g:bat[:oid], e:bat[:any_1]):bat[:bte] ", "AGGRprod3_bte;", "Grouped tail product on bte" ] [ "aggr", "prod", "command aggr.prod(b:bat[:dbl], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRprod3_dbl;", "Grouped tail product on dbl" ] [ "aggr", "prod", "command aggr.prod(b:bat[:flt], g:bat[:oid], e:bat[:any_1]):bat[:dbl] ", "AGGRprod3_dbl;", "Grouped tail product on flt" ] @@ -338,6 +340,7 @@ Ready. [ "aggr", "subcovar", "function aggr.subcovar(e1:bat[:int], e2:bat[:int], g:bat[:oid], e:bat[:any_2], f:bit):bat[:dbl];", "", "" ] [ "aggr", "subcovar", "function aggr.subcovar(e1:bat[:lng], e2:bat[:lng], g:bat[:oid], e:bat[:any_2], f:bit):bat[:dbl];", "", "" ] [ "aggr", "subcovar", "function aggr.subcovar(e1:bat[:sht], e2:bat[:sht], g:bat[:oid], e:bat[:any_2], f:bit):bat[:dbl];", "", "" ] +[ "aggr", "subexist", "command aggr.subexist(b:bat[:any_2], g:bat[:oid], e:bat[:oid], no_nil:bit):bat[:bit] ", "SQLsubexist;", "" ] [ "aggr", "subjsonaggr", "command aggr.subjsonaggr(val:bat[:dbl], g:bat[:oid], e:bat[:any_1], skip_nils:bit):bat[:str] ", "JSONsubjson;", "Grouped aggregation of values." ] [ "aggr", "subjsonaggr", "command aggr.subjsonaggr(val:bat[:str], g:bat[:oid], e:bat[:any_1], skip_nils:bit):bat[:str] ", "JSONsubjson;", "Grouped aggregation of values." ] [ "aggr", "subjsonaggr", "command aggr.subjsonaggr(val:bat[:dbl], g:bat[:oid], e:bat[:any_1], s:bat[:oid], skip_nils:bit):bat[:str] ", "JSONsubjsoncand;", "Grouped aggregation of values with candidates list." ] @@ -16052,12 +16055,16 @@ Ready. [ "sql", "abort", "pattern sql.abort():void ", "SQLabort;", "Trigger the abort operation for a MAL block" ] [ "sql", "affectedRows", "unsafe pattern sql.affectedRows(mvc:int, nr:lng):int ", "mvc_affected_rows_wrap;", "export the number of affected rows by the current query" ] [ "sql", "all", "inline function sql.all(b:bat[:any_1], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:any_1];", "", "" ] -[ "sql", "all", "command sql.all(col:bat[:any_1]):any_1 ", "SQLall;", "if col contains exactly one value return this. Incase of more raise an exception else return nil" ] +[ "sql", "all", "command sql.all(col:bat[:any_1]):any_1 ", "SQLall;", "if all values in col are equal return this, else nil" ] +[ "sql", "all", "command sql.all(cmp:bit, nl:bit, nr:bit):bit ", "SQLall_cmp;", "if !cmp then false, (nl or nr) then nil, else true" ] +[ "sql", "allnotequal", "command sql.allnotequal(l:bat[:any_1], r:bat[:any_1]):bit ", "SQLallnotequal;", "if all values in r are not equal to l return true, else if r has nil nil else false" ] [ "sql", "alpha", "command sql.alpha(dec:dbl, theta:dbl):dbl ", "SQLcst_alpha_cst;", "Implementation of astronomy alpha function: expands the radius theta depending on the declination" ] [ "sql", "analyze", "pattern sql.analyze(minmax:int, sample:lng):void ", "sql_analyze;", "" ] [ "sql", "analyze", "pattern sql.analyze(minmax:int, sample:lng, sch:str):void ", "sql_analyze;", "" ] [ "sql", "analyze", "pattern sql.analyze(minmax:int, sample:lng, sch:str, tbl:str):void ", "sql_analyze;", "" ] [ "sql", "analyze", "pattern sql.analyze(minmax:int, sample:lng, sch:str, tbl:str, col:str):void ", "sql_analyze;", "Update the database statistics table" ] +[ "sql", "any", "command sql.any(cmp:bit, nl:bit, nr:bit):bit ", "SQLany_cmp;", "if cmp then true, (nl or nr) nil then nil, else false" ] +[ "sql", "anyequal", "command sql.anyequal(l:bat[:any_1], r:bat[:any_1]):bit ", "SQLanyequal;", "if any value in r is equal to l return true, else if r has nil nil else false" ] [ "sql", "append", "pattern sql.append(mvc:int, sname:str, tname:str, cname:str, ins:any):int ", "mvc_append_wrap;", "Append to the column tname.cname (possibly optimized to replace the insert bat of tname.cname. Returns sequence number for order dependence." ] [ "sql", "argRecord", "pattern sql.argRecord():str ", "SQLargRecord;", "Glue together the calling sequence" ] [ "sql", "argRecord", "pattern sql.argRecord(a:any...):str ", "SQLargRecord;", "Glue together the calling sequence" ] @@ -16165,6 +16172,7 @@ Ready. [ "sql", "nth_value", "pattern sql.nth_value(b:any_1, n:bat[:any_2], s:lng, e:lng):any_1 ", "SQLnth_value;", "return the nth value of each group" ] [ "sql", "ntile", "pattern sql.ntile(b:any_1, n:any_2, p:any_3, o:any_4):any_2 ", "SQLntile;", "return the groups divided as equally as possible" ] [ "sql", "ntile", "pattern sql.ntile(b:any_1, n:bat[:any_2], p:any_3, o:any_4):any_2 ", "SQLntile;", "return the groups divided as equally as possible" ] +[ "sql", "null", "command sql.null(b:bat[:any_1]):bit ", "SQLnil;", "if b has a nil return true, else false" ] [ "sql", "optimizer_updates", "pattern sql.optimizer_updates():void ", "SQLoptimizersUpdate;", "" ] [ "sql", "optimizers", "command sql.optimizers() (X_0:bat[:str], X_1:bat[:str], X_2:bat[:str]) ", "getPipeCatalog;", "" ] [ "sql", "password", "pattern sql.password(user:str):str ", "db_password_wrap;", "Return password hash of user" ] @@ -16225,6 +16233,10 @@ Ready. [ "sql", "storage", "pattern sql.storage(sname:str) (schema:bat[:str], table:bat[:str], column:bat[:str], type:bat[:str], mode:bat[:str], location:bat[:str], count:bat[:lng], atomwidth:bat[:int], columnsize:bat[:lng], heap:bat[:lng], hashes:bat[:lng], phash:bat[:bit], imprints:bat[:lng], sorted:bat[:bit], revsorted:bat[:bit], key:bat[:bit], orderidx:bat[:lng]) ", "sql_storage;", "return a table with storage information for a particular schema " ] [ "sql", "storage", "pattern sql.storage(sname:str, tname:str) (schema:bat[:str], table:bat[:str], column:bat[:str], type:bat[:str], mode:bat[:str], location:bat[:str], count:bat[:lng], atomwidth:bat[:int], columnsize:bat[:lng], heap:bat[:lng], hashes:bat[:lng], phash:bat[:bit], imprints:bat[:lng], sorted:bat[:bit], revsorted:bat[:bit], key:bat[:bit], orderidx:bat[:lng]) ", "sql_storage;", "return a table with storage information for a particular table" ] [ "sql", "storage", "pattern sql.storage(sname:str, tname:str, cname:str) (schema:bat[:str], table:bat[:str], column:bat[:str], type:bat[:str], mode:bat[:str], location:bat[:str], count:bat[:lng], atomwidth:bat[:int], columnsize:bat[:lng], heap:bat[:lng], hashes:bat[:lng], phash:bat[:bit], imprints:bat[:lng], sorted:bat[:bit], revsorted:bat[:bit], key:bat[:bit], orderidx:bat[:lng]) ", "sql_storage;", "return a table with storage information for a particular column" ] +[ "sql", "suballnotequal", "command sql.suballnotequal(l:bat[:any_1], r:bat[:any_1], rid:bat[:oid], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:bit] ", "SQLallnotequal_grp2;", "if all values in r are not equal to l return true, else if r has nil nil else false, except if rid is nil (ie empty) then true" ] +[ "sql", "suballnotequal", "command sql.suballnotequal(l:bat[:any_1], r:bat[:any_1], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:bit] ", "SQLallnotequal_grp;", "if all values in r are not equal to l return true, else if r has nil nil else false" ] +[ "sql", "subanyequal", "command sql.subanyequal(l:bat[:any_1], r:bat[:any_1], rid:bat[:oid], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:bit] ", "SQLanyequal_grp2;", "if any value in r is equal to l return true, else if r has nil nil else false, except if rid is nil (ie empty) then false" ] +[ "sql", "subanyequal", "command sql.subanyequal(l:bat[:any_1], r:bat[:any_1], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:bit] ", "SQLanyequal_grp;", "if any value in r is equal to l return true, else if r has nil nil else false" ] [ "sql", "subdelta", "command sql.subdelta(col:bat[:oid], cand:bat[:oid], uid:bat[:oid], uval:bat[:oid]):bat[:oid] ", "DELTAsub2;", "Return a single bat of selected delta." ] [ "sql", "subdelta", "command sql.subdelta(col:bat[:oid], cand:bat[:oid], uid:bat[:oid], uval:bat[:oid], ins:bat[:oid]):bat[:oid] ", "DELTAsub;", "Return a single bat of selected delta." ] [ "sql", "subzero_or_one", "inline function sql.subzero_or_one(b:bat[:any_1], gp:bat[:oid], gpe:bat[:oid], no_nil:bit):bat[:any_1];", "", "" ] @@ -16277,6 +16289,8 @@ Ready. [ "sql", "window_bound", "pattern sql.window_bound(p:bit, b:any_1, unit:int, bound:int, excl:int, limit:sht):lng ", "SQLwindow_bound;", "computes window ranges for each row" ] [ "sql", "window_bound", "pattern sql.window_bound(p:bit, b:any_1, unit:int, bound:int, excl:int, start:hge):lng ", "SQLwindow_bound;", "computes window ranges for each row" ] [ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1]):any_1 ", "zero_or_one;", "if col contains exactly one value return this. Incase of more raise an exception else return nil" ] +[ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1], err:bit):any_1 ", "zero_or_one_error;", "if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil" ] +[ "sql", "zero_or_one", "command sql.zero_or_one(col:bat[:any_1], err:bat[:bit]):any_1 ", "zero_or_one_error_bat;", "if col contains exactly one value return this. Incase of more raise an exception if err is true else return nil" ] [ "sqlcatalog", "alter_add_range_partition", "pattern sqlcatalog.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:any_1, max:any_1, nills:int, update:int):void ", "SQLalter_add_range_partition;", "Catalog operation alter_add_range_partition" ] [ "sqlcatalog", "alter_add_table", "pattern sqlcatalog.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "SQLalter_add_table;", "Catalog operation alter_add_table" ] [ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] 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 @@ -146,8 +146,10 @@ gdk_return BATkey(BAT *b, bool onoff); bool BATkeyed(BAT *b); gdk_return BATleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__)); void *BATmax(BAT *b, void *aggr); +void *BATmax_skipnil(BAT *b, void *aggr, bit skipnil); BAT *BATmergecand(BAT *a, BAT *b); void *BATmin(BAT *b, void *aggr); +void *BATmin_skipnil(BAT *b, void *aggr, bit skipnil); gdk_return BATmode(BAT *b, bool transient); void BATmsync(BAT *b); bool BATordered(BAT *b); @@ -711,7 +713,9 @@ str ALGintersect(bat *r1, const bat *lid str ALGjoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate); str ALGleftjoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate); str ALGmaxany(ptr result, const bat *bid); +str ALGmaxany_skipnil(ptr result, const bat *bid, const bit *skipnil); str ALGminany(ptr result, const bat *bid); +str ALGminany_skipnil(ptr result, const bat *bid, const bit *skipnil); str ALGouterjoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat *sl, const bat *sr, const bit *nil_matches, const lng *estimate); str ALGprojection(bat *result, const bat *lid, const bat *rid); str ALGprojectionpath(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list