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

Reply via email to