Changeset: 66a0c8eae6da for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=66a0c8eae6da
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        sql/backends/monet5/sql_upgrades.c
        sql/scripts/25_debug.sql
Branch: default
Log Message:

Re-approved MAL-signatures and added upgrade code for new sys.deltas functions.


diffs (truncated from 916 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
@@ -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"   ]
@@ -231,6 +233,10 @@ Ready.
 [ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str], sep:bat[:str], nil_if_empty:bit):str ",     
"CMDBATstr_group_concat;",      "Calculate aggregate string concatenate of B 
with separator SEP."       ]
 [ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str], sep:bat[:str], s:bat[:oid]):str ",  
"CMDBATstr_group_concat;",      "Calculate aggregate string concatenate of B 
with candidate list and separator SEP."    ]
 [ "aggr",      "str_group_concat",     "pattern 
aggr.str_group_concat(b:bat[:str], sep:bat[:str], s:bat[:oid], 
nil_if_empty:bit):str ",        "CMDBATstr_group_concat;",      "Calculate 
aggregate string concatenate of B with candidate list and separator SEP."    ]
+[ "aggr",      "suballnotequal",       "command 
aggr.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"        ]
+[ "aggr",      "suballnotequal",       "command 
aggr.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"   ]
+[ "aggr",      "subanyequal",  "command aggr.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"     ]
+[ "aggr",      "subanyequal",  "command aggr.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" ]
 [ "aggr",      "subavg",       "command aggr.subavg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",   
"AGGRsubavg1_dbl;",     "Grouped average aggregate"     ]
 [ "aggr",      "subavg",       "command aggr.subavg(b:bat[:dbl], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",   
"AGGRsubavg1_dbl;",     "Grouped average aggregate"     ]
 [ "aggr",      "subavg",       "command aggr.subavg(b:bat[:flt], g:bat[:oid], 
e:bat[:any_1], skip_nils:bit, abort_on_error:bit):bat[:dbl] ",   
"AGGRsubavg1_dbl;",     "Grouped average aggregate"     ]
@@ -293,6 +299,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."   
]
@@ -513,15 +520,15 @@ Ready.
 [ "aggr",      "variancep",    "command aggr.variancep(b:bat[:sht], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRvariancep3_dbl;",  "Grouped 
tail variance (population/biased) on sht"      ]
 [ "aggr",      "variancep",    "command aggr.variancep(b:bat[:any_2]):dbl ",   
"ALGvariancep;",        "Gives the variance of all tail values" ]
 [ "alarm",     "ctime",        "unsafe command alarm.ctime():str ",    
"ALARMctime;",  "Return the current time as a C-time string."   ]
-[ "alarm",     "epoch",        "unsafe command alarm.epoch():int ",    
"ALARMepoch;",  "Return the current time as UNIX epoch."        ]
+[ "alarm",     "epoch",        "unsafe command alarm.epoch():int ",    
"ALARMepoch;",  "Return time since Jan 1, 1970 in seconds."     ]
 [ "alarm",     "sleep",        "unsafe command alarm.sleep(secs:int):void ",   
"ALARMsleep;",  "Sleep a few seconds"   ]
-[ "alarm",     "time", "unsafe command alarm.time():int ",     "ALARMtime;",   
"Return time in milliseconds."  ]
-[ "alarm",     "usec", "unsafe command alarm.usec():lng ",     "ALARMusec;",   
"Return time in microseconds."  ]
+[ "alarm",     "time", "unsafe command alarm.time():int ",     "ALARMtime;",   
"Return time since program start in milliseconds."      ]
+[ "alarm",     "usec", "unsafe command alarm.usec():lng ",     "ALARMusec;",   
"Return time since Jan 1, 1970 in microseconds."        ]
 [ "algebra",   "antijoin",     "function algebra.antijoin(l:bat[:any_1], 
r:bat[:any_1], sl:bat[:oid], sr:bat[:oid], nil_matches:bit, estimate:lng) 
(X_0:bat[:oid], X_1:bat[:oid]);",   "",     ""      ]
 [ "algebra",   "bandjoin",     "command algebra.bandjoin(l:bat[:any_1], 
r:bat[:any_1], sl:bat[:oid], sr:bat[:oid], c1:any_1, c2:any_1, li:bit, hi:bit, 
estimate:lng) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGbandjoin;", "Band join: 
values in l and r match if r - c1 <[=] l <[=] r + c2"       ]
 [ "algebra",   "copy", "command algebra.copy(b:bat[:any_1]):bat[:any_1] ",     
"ALGcopy;",     "Returns physical copy of a BAT."       ]
 [ "algebra",   "crossproduct", "command algebra.crossproduct(left:bat[:any_1], 
right:bat[:any_2]) (l:bat[:oid], r:bat[:oid]) ",        "ALGcrossproduct2;",    
"Returns 2 columns with all BUNs, consisting of the head-oids\n\t  from 'left' 
and 'right' for which there are BUNs in 'left'\n\t  and 'right' with equal 
tails"        ]
-[ "algebra",   "difference",   "command algebra.difference(l:bat[:any_1], 
r:bat[:any_1], sl:bat[:oid], sr:bat[:oid], nil_matches:bit, 
estimate:lng):bat[:oid] ",       "ALGdifference;",       "Difference of l and r 
with candidate lists"    ]
+[ "algebra",   "difference",   "command algebra.difference(l:bat[:any_1], 
r:bat[:any_1], sl:bat[:oid], sr:bat[:oid], nil_matches:bit, nil_clears:bit, 
estimate:lng):bat[:oid] ",       "ALGdifference;",       "Difference of l and r 
with candidate lists"    ]
 [ "algebra",   "exist",        "command algebra.exist(b:bat[:any_1], 
val:any_1):bit ", "ALGexist;",    "Returns whether 'val' occurs in b."    ]
 [ "algebra",   "fetch",        "command algebra.fetch(b:bat[:any_1], 
x:oid):any_1 ",   "ALGfetchoid;", "Returns the value of the BUN at x-th 
position with 0 <= x < b.count"   ]
 [ "algebra",   "find", "command algebra.find(b:bat[:any_1], t:any_1):oid ",    
"ALGfind;",     "Returns the index position of a value.  If no such BUN exists 
return OID-nil." ]
@@ -604,6 +611,7 @@ Ready.
 [ "bat",       "delete",       "command bat.delete(b:bat[:any_1]):bat[:any_1] 
",       "BKCdelete_all;",       "Delete all entries."   ]
 [ "bat",       "delete",       "command bat.delete(b:bat[:any_1], 
d:bat[:oid]):bat[:any_1] ",  "BKCdelete_multi;",     "Delete multiple BUN, 
shifting BUNs up" ]
 [ "bat",       "densebat",     "command bat.densebat(sz:lng):bat[:oid] ",      
"BKCdensebat;", "Creates a new [void,void] BAT of size 'sz'."   ]
+[ "bat",       "diffcand",     "command bat.diffcand(a:bat[:oid], 
b:bat[:oid]):bat[:oid] ",    "BKCdiffcand;", "Calculate difference of two 
candidate lists"   ]
 [ "bat",       "getAccess",    "command bat.getAccess(b:bat[:any_1]):str ",    
"BKCgetAccess;",        "Return the access mode attached to this BAT as a 
character."   ]
 [ "bat",       "getCapacity",  "command bat.getCapacity(b:bat[:any_1]):lng ",  
"BKCgetCapacity;",      "Returns the current allocation size (in max number of 
elements) of a BAT."     ]
 [ "bat",       "getColumnType",        "command 
bat.getColumnType(b:bat[:any_1]):str ",        "BKCgetColumnType;",    "Returns 
the type of the tail column of a BAT, as an integer type number."      ]
@@ -6450,11 +6458,11 @@ Ready.
 [ "batcalc",   "cmp",  "pattern batcalc.cmp(v:sht, b:bat[:sht], 
s:bat[:oid]):bat[:bte] ",      "CMDbatCMP;",   "Return -1/0/1 if V </==/> B 
with candidates list"      ]
 [ "batcalc",   "cmp",  "pattern batcalc.cmp(v:str, b:bat[:str]):bat[:bte] ",   
"CMDbatCMP;",   "Return -1/0/1 if V </==/> B"   ]
 [ "batcalc",   "cmp",  "pattern batcalc.cmp(v:str, b:bat[:str], 
s:bat[:oid]):bat[:bte] ",      "CMDbatCMP;",   "Return -1/0/1 if V </==/> B 
with candidates list"      ]
-[ "batcalc",   "date", "command batcalc.date(t:bat[:timestamp]):bat[:date] ",  
"MTIMEtimestamp_extract_date_default_bulk;",    ""      ]
+[ "batcalc",   "date", "command batcalc.date(t:bat[:timestamp]):bat[:date] ",  
"MTIMEtimestamp_extract_date_bulk;",    ""      ]
 [ "batcalc",   "date", "command batcalc.date(v:bat[:oid]):bat[:date] ",        
"batnil_2_date;",       "cast to date"  ]
 [ "batcalc",   "date", "command batcalc.date(v:bat[:str]):bat[:date] ",        
"batstr_2_date;",       "cast to date"  ]
-[ "batcalc",   "daytime",      "command 
batcalc.daytime(s:bat[:lng]):bat[:daytime] ",  "MTIMEsecs2daytime_bulk;",      
""      ]
-[ "batcalc",   "daytime",      "command 
batcalc.daytime(t:bat[:timestamp]):bat[:daytime] ",    
"MTIMEtimestamp_extract_daytime_default_bulk;", ""      ]
+[ "batcalc",   "daytime",      "command 
batcalc.daytime(s:bat[:lng]):bat[:daytime] ",  
"MTIMEdaytime_fromseconds_bulk;",       ""      ]
+[ "batcalc",   "daytime",      "command 
batcalc.daytime(t:bat[:timestamp]):bat[:daytime] ",    
"MTIMEtimestamp_extract_daytime_bulk;", ""      ]
 [ "batcalc",   "daytime",      "command batcalc.daytime(v:bat[:daytime], 
digits:int):bat[:daytime] ",  "batdaytime_2time_daytime;",    "cast daytime to 
daytime and check for overflow"        ]
 [ "batcalc",   "daytime",      "command 
batcalc.daytime(v:bat[:oid]):bat[:daytime] ",  "batnil_2_daytime;",    "Cast to 
daytime"       ]
 [ "batcalc",   "daytime",      "command batcalc.daytime(v:bat[:oid], 
digits:int):bat[:daytime] ",      "batnil_2time_daytime;",        "cast to 
daytime and check for overflow"        ]
@@ -8675,9 +8683,9 @@ Ready.
 [ "batcalc",   "sub_noerror",  "pattern batcalc.sub_noerror(v:sht, 
b:bat[:lng], s:bat[:oid]):bat[:lng] ",      "CMDbatSUB;",   "Return V - B with 
candidates list, overflow causes NIL value"  ]
 [ "batcalc",   "sub_noerror",  "pattern batcalc.sub_noerror(v:sht, 
b:bat[:sht]):bat[:sht] ",   "CMDbatSUB;",   "Return V - B, overflow causes NIL 
value"       ]
 [ "batcalc",   "sub_noerror",  "pattern batcalc.sub_noerror(v:sht, 
b:bat[:sht], s:bat[:oid]):bat[:sht] ",      "CMDbatSUB;",   "Return V - B with 
candidates list, overflow causes NIL value"  ]
-[ "batcalc",   "timestamp",    "command 
batcalc.timestamp(secs:bat[:int]):bat[:timestamp] ",   "MTIMEtimestamp_bulk;", 
""      ]
-[ "batcalc",   "timestamp",    "command 
batcalc.timestamp(d:bat[:date]):bat[:timestamp] ",     
"MTIMEtimestamp_create_from_date_bulk;",        ""      ]
-[ "batcalc",   "timestamp",    "command 
batcalc.timestamp(msecs:bat[:lng]):bat[:timestamp] ",  
"MTIMEtimestamp_lng_bulk;",     ""      ]
+[ "batcalc",   "timestamp",    "command 
batcalc.timestamp(d:bat[:date]):bat[:timestamp] ",     
"MTIMEtimestamp_fromdate_bulk;",        ""      ]
+[ "batcalc",   "timestamp",    "command 
batcalc.timestamp(msecs:bat[:lng]):bat[:timestamp] ",  
"MTIMEtimestamp_frommsec_bulk;",        ""      ]
+[ "batcalc",   "timestamp",    "command 
batcalc.timestamp(secs:bat[:int]):bat[:timestamp] ",   
"MTIMEtimestamp_fromsecond_bulk;",      ""      ]
 [ "batcalc",   "timestamp",    "command 
batcalc.timestamp(v:bat[:oid]):bat[:timestamp] ",      "batnil_2_timestamp;",  
"Cast to timestamp"     ]
 [ "batcalc",   "timestamp",    "command batcalc.timestamp(v:bat[:oid], 
digits:int):bat[:timestamp] ",  "batnil_2time_timestamp;",      "cast to 
timestamp and check for overflow"      ]
 [ "batcalc",   "timestamp",    "command 
batcalc.timestamp(v:bat[:str]):bat[:timestamp] ",      "batstr_2_timestamp;",  
"Cast to timestamp"     ]
@@ -8917,16 +8925,19 @@ Ready.
 [ "batmmath",  "tanh", "command batmmath.tanh(x:bat[:dbl], 
s:bat[:oid]):bat[:dbl] ",   "CMDscience_bat_dbl_tanh_cand;",        ""      ]
 [ "batmmath",  "tanh", "command batmmath.tanh(x:bat[:flt]):bat[:flt] ",        
"CMDscience_bat_flt_tanh;",     ""      ]
 [ "batmmath",  "tanh", "command batmmath.tanh(x:bat[:flt], 
s:bat[:oid]):bat[:flt] ",   "CMDscience_bat_flt_tanh_cand;",        ""      ]
+[ "batmtime",  "century",      "command 
batmtime.century(d:bat[:date]):bat[:int] ",    
"MTIMEdate_extract_century_bulk;",      ""      ]
 [ "batmtime",  "day",  "command batmtime.day(d:bat[:date]):bat[:int] ",        
"MTIMEdate_extract_day_bulk;",  ""      ]
+[ "batmtime",  "decade",       "command 
batmtime.decade(d:bat[:date]):bat[:int] ",     
"MTIMEdate_extract_decade_bulk;",       ""      ]
 [ "batmtime",  "diff", "command batmtime.diff(b1:bat[:date], 
b2:bat[:date]):bat[:int] ",       "MTIMEdate_diff_bulk;", "Difference of two 
sets of date."       ]
-[ "batmtime",  "diff", "command batmtime.diff(b1:bat[:timestamp], 
b2:bat[:timestamp]):bat[:lng] ",     "MTIMEtimestamp_diff_bulk;",    
"Difference of two sets of timestamp."  ]
+[ "batmtime",  "diff", "command batmtime.diff(b1:bat[:timestamp], 
b2:bat[:timestamp]):bat[:lng] ",     "MTIMEtimestamp_diff_msec_bulk;",       
"Difference of two sets of timestamp."  ]
 [ "batmtime",  "hours",        "command 
batmtime.hours(d:bat[:daytime]):bat[:int] ",   
"MTIMEdaytime_extract_hours_bulk;",     ""      ]
-[ "batmtime",  "milliseconds", "command 
batmtime.milliseconds(d:bat[:daytime]):bat[:int] ",    
"MTIMEdaytime_extract_milliseconds_bulk;",      ""      ]
 [ "batmtime",  "minutes",      "command 
batmtime.minutes(d:bat[:daytime]):bat[:int] ", 
"MTIMEdaytime_extract_minutes_bulk;",   ""      ]
 [ "batmtime",  "month",        "command batmtime.month(d:bat[:date]):bat[:int] 
",      "MTIMEdate_extract_month_bulk;",        ""      ]
 [ "batmtime",  "quarter",      "command 
batmtime.quarter(d:bat[:date]):bat[:int] ",    
"MTIMEdate_extract_quarter_bulk;",      ""      ]
-[ "batmtime",  "seconds",      "command 
batmtime.seconds(d:bat[:daytime]):bat[:int] ", 
"MTIMEdaytime_extract_seconds_bulk;",   ""      ]
 [ "batmtime",  "sql_seconds",  "command 
batmtime.sql_seconds(d:bat[:daytime]):bat[:int] ",     
"MTIMEdaytime_extract_sql_seconds_bulk;",       ""      ]
+[ "batmtime",  "sql_seconds",  "command 
batmtime.sql_seconds(d:bat[:timestamp]):bat[:int] ",   
"MTIMEtimestamp_sql_seconds_bulk;",     ""      ]
+[ "batmtime",  "timestamp_add_msec_interval",  "command 
batmtime.timestamp_add_msec_interval(t:bat[:timestamp], 
ms:bat[:lng]):bat[:timestamp] ",       
"MTIMEtimestamp_add_msec_interval_bulk;",       ""      ]
+[ "batmtime",  "timestamp_sub_msec_interval",  "command 
batmtime.timestamp_sub_msec_interval(t:bat[:timestamp], 
ms:bat[:lng]):bat[:timestamp] ",       
"MTIMEtimestamp_sub_msec_interval_bulk;",       ""      ]
 [ "batmtime",  "year", "command batmtime.year(d:bat[:date]):bat[:int] ",       
"MTIMEdate_extract_year_bulk;", ""      ]
 [ "batpcre",   "replace",      "command batpcre.replace(orig:bat[:str], 
pat:str, repl:str, flag:str):bat[:str] ",      "PCREreplace_bat_wrap;",        
""      ]
 [ "batpcre",   "replace_first",        "command 
batpcre.replace_first(orig:bat[:str], pat:str, repl:str, flag:str):bat[:str] ", 
       "PCREreplacefirst_bat_wrap;",   ""      ]
@@ -10063,8 +10074,7 @@ Ready.
 [ "calc",      "and",  "pattern calc.and(v1:int, v2:int):int ",        
"CMDvarAND;",   "Return V1 AND V2"      ]
 [ "calc",      "and",  "pattern calc.and(v1:lng, v2:lng):lng ",        
"CMDvarAND;",   "Return V1 AND V2"      ]
 [ "calc",      "and",  "pattern calc.and(v1:sht, v2:sht):sht ",        
"CMDvarAND;",   "Return V1 AND V2"      ]
-[ "calc",      "between",      "pattern calc.between(b:any_1, lo:any_1, 
hi:any_1):bit ",       "CMDvarBETWEEN;",       "B between LO and HI inclusive" ]
-[ "calc",      "between_symmetric",    "pattern 
calc.between_symmetric(b:any_1, v1:any_1, v2:any_1):bit ",     
"CMDvarBETWEENsymmetric;",      "B between V1 and V2 (or vice versa) inclusive" 
]
+[ "calc",      "between",      "pattern calc.between(b:any_1, lo:any_1, 
hi:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit):bit ",  
"CMDvarBETWEEN;",       "B between LO and HI inclusive" ]
 [ "calc",      "bit",  "pattern calc.bit(v:bit):bit ", "CMDvarCONVERT;",       
"Cast VALUE to bit"     ]
 [ "calc",      "bit",  "pattern calc.bit(v:bte):bit ", "CMDvarCONVERT;",       
"Cast VALUE to bit"     ]
 [ "calc",      "bit",  "pattern calc.bit(v:dbl):bit ", "CMDvarCONVERT;",       
"Cast VALUE to bit"     ]
@@ -10147,13 +10157,13 @@ Ready.
 [ "calc",      "cmp",  "pattern calc.cmp(v1:str, v2:str):bte ",        
"CMDvarCMP;",   "Return -1/0/1 if V1 </==/> V2" ]
 [ "calc",      "date", "command calc.date(d:date):date ",      
"MTIMEdate_date;",      ""      ]
 [ "calc",      "date", "command calc.date(s:str):date ",       
"MTIMEdate_fromstr;",   ""      ]
-[ "calc",      "date", "command calc.date(t:timestamp):date ", 
"MTIMEtimestamp_extract_date_default;", ""      ]
+[ "calc",      "date", "command calc.date(t:timestamp):date ", 
"MTIMEtimestamp_extract_date;", ""      ]
 [ "calc",      "date", "command calc.date(v:void):date ",      "nil_2_date;",  
"cast to date"  ]
 [ "calc",      "date", "command calc.date(v:str):date ",       "str_2_date;",  
"cast to date"  ]
-[ "calc",      "daytime",      "command calc.daytime(d:daytime):daytime ",     
"MTIMEdaytime2daytime;",        ""      ]
+[ "calc",      "daytime",      "command calc.daytime(d:daytime):daytime ",     
"MTIMEdaytime_daytime;",        ""      ]
+[ "calc",      "daytime",      "command calc.daytime(s:lng):daytime ", 
"MTIMEdaytime_fromseconds;",    ""      ]
 [ "calc",      "daytime",      "command calc.daytime(s:str):daytime ", 
"MTIMEdaytime_fromstr;",        ""      ]
-[ "calc",      "daytime",      "command calc.daytime(s:lng):daytime ", 
"MTIMEsecs2daytime;",   ""      ]
-[ "calc",      "daytime",      "command calc.daytime(t:timestamp):daytime ",   
"MTIMEtimestamp_extract_daytime_default;",      ""      ]
+[ "calc",      "daytime",      "command calc.daytime(t:timestamp):daytime ",   
"MTIMEtimestamp_extract_daytime;",      ""      ]
 [ "calc",      "daytime",      "command calc.daytime(v:daytime, 
digits:int):daytime ", "daytime_2time_daytime;",       "cast daytime to daytime 
and check for overflow"        ]
 [ "calc",      "daytime",      "command calc.daytime(v:void):daytime ",        
"nil_2_daytime;",       "Cast to daytime"       ]
 [ "calc",      "daytime",      "command calc.daytime(v:void, 
digits:int):daytime ",    "nil_2time_daytime;",   "cast to daytime and check 
for overflow"        ]
@@ -10675,11 +10685,11 @@ Ready.
 [ "calc",      "sub_noerror",  "pattern calc.sub_noerror(v1:sht, v2:sht):sht 
",        "CMDvarSUB;",   "Return V1 - V2, overflow results in NIL value" ]
 [ "calc",      "substring",    "command calc.substring(s:str, offset:int, 
count:int):str ",    "STRsubstring;",        ""      ]
 [ "calc",      "substring",    "command calc.substring(s:str, offset:int):str 
",       "STRsubstringTail;",    ""      ]
-[ "calc",      "timestamp",    "command calc.timestamp(t:timestamp):timestamp 
",       "MTIMEtimestamp2timestamp;",    ""      ]
-[ "calc",      "timestamp",    "command calc.timestamp(secs:int):timestamp ",  
"MTIMEtimestamp;",      ""      ]
-[ "calc",      "timestamp",    "command calc.timestamp(d:date):timestamp ",    
"MTIMEtimestamp_create_from_date;",     ""      ]
+[ "calc",      "timestamp",    "command calc.timestamp(d:date):timestamp ",    
"MTIMEtimestamp_fromdate;",     ""      ]
+[ "calc",      "timestamp",    "command calc.timestamp(msecs:lng):timestamp ", 
"MTIMEtimestamp_frommsec;",     ""      ]
+[ "calc",      "timestamp",    "command calc.timestamp(secs:int):timestamp ",  
"MTIMEtimestamp_fromsecond;",   ""      ]
 [ "calc",      "timestamp",    "command calc.timestamp(s:str):timestamp ",     
"MTIMEtimestamp_fromstr;",      ""      ]
-[ "calc",      "timestamp",    "command calc.timestamp(msecs:lng):timestamp ", 
"MTIMEtimestamp_lng;",  ""      ]
+[ "calc",      "timestamp",    "command calc.timestamp(t:timestamp):timestamp 
",       "MTIMEtimestamp_timestamp;",    ""      ]
 [ "calc",      "timestamp",    "command calc.timestamp(v:date, 
d:int):timestamp ",     "date_2_timestamp;",    "cast date to a timestamp and 
check for overflow"       ]
 [ "calc",      "timestamp",    "command calc.timestamp(v:void):timestamp ",    
"nil_2_timestamp;",     "Cast to timestamp"     ]
 [ "calc",      "timestamp",    "command calc.timestamp(v:void, 
digits:int):timestamp ",        "nil_2time_timestamp;", "cast to timestamp and 
check for overflow"      ]
@@ -11356,109 +11366,55 @@ Ready.
 [ "mmath",     "tan",  "command mmath.tan(x:flt):flt ",        
"MATHunary_TANflt;",    ""      ]
 [ "mmath",     "tanh", "command mmath.tanh(x:dbl):dbl ",       
"MATHunary_TANHdbl;",   "The tanh() function returns the hyperbolic tangent of 
x, which is \n\tdefined mathematically as sinh(x) / cosh(x)."    ]
 [ "mmath",     "tanh", "command mmath.tanh(x:flt):flt ",       
"MATHunary_TANHflt;",   ""      ]
-[ "mtime",     "add",  "command mtime.add(v:timestamp, msecs:lng):timestamp ", 
"MTIMEtimestamp_add;",  "returns the timestamp that comes 'msecs'\n\t(possibly 
negative) after 'value'."        ]
-[ "mtime",     "adddays",      "command mtime.adddays(value:date, 
days:int):date ",    "MTIMEdate_adddays;",   "returns the date after a 
number\n\tof days (possibly negative)."       ]
 [ "mtime",     "addmonths",    "command mtime.addmonths(value:date, 
months:int):date ",        "MTIMEdate_addmonths;", "returns the date after a 
number of\n\tmonths (possibly negative)."     ]
-[ "mtime",     "addyears",     "command mtime.addyears(value:date, 
years:int):date ",  "MTIMEdate_addyears;",  "returns the date after a 
number\n\tof years (possibly negative)."      ]
-[ "mtime",     "compute",      "command mtime.compute(r:zrule, year:int):date 
",       "MTIMEcompute_rule_foryear;",   "compute the date from a rule in a 
given year"  ]
+[ "mtime",     "century",      "command mtime.century(d:date):int ",   
"MTIMEdate_extract_century;",   "extracts century from date."   ]
+[ "mtime",     "century",      "command mtime.century(t:timestamp):int ",      
"MTIMEtimestamp_century;",      ""      ]
 [ "mtime",     "current_date", "command mtime.current_date():date ",   
"MTIMEcurrent_date;",   ""      ]
 [ "mtime",     "current_time", "command mtime.current_time():daytime ",        
"MTIMEcurrent_time;",   ""      ]
 [ "mtime",     "current_timestamp",    "command 
mtime.current_timestamp():timestamp ", "MTIMEcurrent_timestamp;",      ""      ]
-[ "mtime",     "date", "command mtime.date(X_0:date):date ",   
"MTIMEdate2date;",      "generate the nil date" ]
-[ "mtime",     "date", "command mtime.date(yr:int, mo:int, day:int):date ",    
"MTIMEdate_create;",    "creates a date from (year,month,day)." ]
-[ "mtime",     "date", "command mtime.date(s:str):date ",      
"MTIMEdate_fromstr;",   "convert the string to a type date value"       ]
-[ "mtime",     "date", "command mtime.date(X_0:void):date ",   
"MTIMEnil2date;",       "generate the nil date" ]
-[ "mtime",     "date", "command mtime.date(t:timestamp, v:timezone):date ",    
"MTIMEtimestamp_extract_date;", "extracts date from timestamp in a\n\tspecific 
timezone."       ]
-[ "mtime",     "date", "command mtime.date(t:timestamp):date ",        
"MTIMEtimestamp_extract_date_default;", "extracts date from timestamp\n\tin the 
local timezone."        ]
-[ "mtime",     "date_add_month_interval",      "command 
mtime.date_add_month_interval(t:date, s:int):date ",   "MTIMEdate_addmonths;", 
"Add months to a date"  ]
-[ "mtime",     "date_add_msec_interval",       "command 
mtime.date_add_msec_interval(t:date, ms:lng):date ",   
"MTIMEdate_add_msec_interval_lng_wrap;",        ""      ]
-[ "mtime",     "date_add_sec_interval",        "command 
mtime.date_add_sec_interval(t:date, s:int):date ",     
"MTIMEdate_add_sec_interval_wrap;",     "Add seconds to a date" ]
+[ "mtime",     "date_add_msec_interval",       "command 
mtime.date_add_msec_interval(t:date, ms:lng):date ",   
"MTIMEdate_add_msec_interval;", ""      ]
 [ "mtime",     "date_sub_month_interval",      "command 
mtime.date_sub_month_interval(t:date, s:int):date ",   "MTIMEdate_submonths;", 
"Subtract months from a date"   ]
-[ "mtime",     "date_sub_msec_interval",       "command 
mtime.date_sub_msec_interval(t:date, ms:lng):date ",   
"MTIMEdate_sub_msec_interval_lng_wrap;",        ""      ]
-[ "mtime",     "date_sub_sec_interval",        "command 
mtime.date_sub_sec_interval(t:date, s:int):date ",     
"MTIMEdate_sub_sec_interval_wrap;",     "Subtract seconds from a date"  ]
+[ "mtime",     "date_sub_msec_interval",       "command 
mtime.date_sub_msec_interval(t:date, ms:lng):date ",   
"MTIMEdate_sub_msec_interval;", ""      ]
 [ "mtime",     "date_to_str",  "command mtime.date_to_str(d:date, 
format:str):str ",   "MTIMEdate_to_str;",    "create a string from the date, 
using the specified format (see man strftime)"  ]
 [ "mtime",     "day",  "command mtime.day(d:date):int ",       
"MTIMEdate_extract_day;",       "extracts day from date "       ]
-[ "mtime",     "day",  "command mtime.day(t:zrule):int ",      
"MTIMErule_extract_day;",       "extract day from rule."        ]
 [ "mtime",     "day",  "command mtime.day(msecs:lng):lng ",    
"MTIMEsql_day;",        ""      ]
 [ "mtime",     "day",  "command mtime.day(t:timestamp):int ",  
"MTIMEtimestamp_day;",  ""      ]
-[ "mtime",     "dayname",      "command mtime.dayname(day:int):str ",  
"MTIMEday_to_str;",     "Returns day name from a number\n\tbetween [1-7], 
str(nil) otherwise."  ]
-[ "mtime",     "daynum",       "command mtime.daynum(day:str):int ",   
"MTIMEday_from_str;",   "Returns number of day [1-7] from a\n\tstring or nil if 
does not match any."    ]
 [ "mtime",     "dayofweek",    "command mtime.dayofweek(d:date):int ", 
"MTIMEdate_extract_dayofweek;", "Returns the current day of the week\n\twhere 
1=monday, .., 7=sunday"   ]
 [ "mtime",     "dayofyear",    "command mtime.dayofyear(d:date):int ", 
"MTIMEdate_extract_dayofyear;", "Returns N where d is the Nth day\n\tof the 
year (january 1 returns 1)" ]
-[ "mtime",     "daytime",      "command mtime.daytime(h:int):daytime ",        
"MTIMEdaytime1;",       "default time with zeroed components"   ]
-[ "mtime",     "daytime",      "command mtime.daytime(h:int, m:int):daytime ", 
"MTIMEdaytime2;",       "default time with zeroed components"   ]
-[ "mtime",     "daytime",      "command mtime.daytime(X_0:daytime):daytime ",  
"MTIMEdaytime2daytime;",        ""      ]
-[ "mtime",     "daytime",      "command mtime.daytime(h:int, m:int, 
s:int):daytime ",  "MTIMEdaytime3;",       "default time with zeroed 
components"   ]
-[ "mtime",     "daytime",      "command mtime.daytime(h:int, m:int, s:int, 
mi:int):daytime ",  "MTIMEdaytime_create;", "creates a time from 
(hours,minutes,\n\tseconds,milliseconds) parameters."      ]
-[ "mtime",     "daytime",      "command mtime.daytime(s:str):daytime ",        
"MTIMEdaytime_fromstr;",        "convert the string to a daytime value."        
]
-[ "mtime",     "daytime",      "command mtime.daytime(X_0:lng):daytime ",      
"MTIMEsecs2daytime;",   ""      ]
-[ "mtime",     "daytime",      "command mtime.daytime(t:timestamp, 
v:timezone):daytime ",      "MTIMEtimestamp_extract_daytime;",      "extracts 
daytime from timestamp\n\tin a specific timezone."    ]
-[ "mtime",     "daytime",      "command mtime.daytime(t:timestamp):daytime ",  
"MTIMEtimestamp_extract_daytime_default;",      "extracts daytime from 
timestamp\n\tin the local timezone."     ]
+[ "mtime",     "decade",       "command mtime.decade(d:date):int ",    
"MTIMEdate_extract_decade;",    "extracts decade from date."    ]
+[ "mtime",     "decade",       "command mtime.decade(t:timestamp):int ",       
"MTIMEtimestamp_decade;",       ""      ]
 [ "mtime",     "diff", "command mtime.diff(val1:date, val2:date):int ",        
"MTIMEdate_diff;",      "returns the number of days\n\tbetween 'val1' and 
'val2'."      ]
-[ "mtime",     "diff", "command mtime.diff(val1:daytime, val2:daytime):lng ",  
"MTIMEdaytime_diff;",   "returns the number of msec between 'val1' and 'val2'." 
]
-[ "mtime",     "diff", "command mtime.diff(val1:timestamp, val2:timestamp):lng 
",      "MTIMEtimestamp_diff;", "returns the number of milliseconds\n\tbetween 
'val1' and 'val2'."      ]
-[ "mtime",     "dst",  "command mtime.dst(t:timestamp, v:timezone):bit ",      
"MTIMEtimestamp_inside_dst;",   "return whether DST holds in the\n\ttimezone at 
a certain point of time."       ]
-[ "mtime",     "end_dst",      "command mtime.end_dst(t:timezone):zrule ",     
"MTIMEtzone_extract_end;",      "extract rule that determines\n\tend of DST 
from timezone."     ]
-[ "mtime",     "epilogue",     "command mtime.epilogue():void ",       
"MTIMEepilogue;",       ""      ]
+[ "mtime",     "diff", "command mtime.diff(val1:daytime, val2:daytime):lng ",  
"MTIMEdaytime_diff_msec;",      "returns the number of msec between 'val1' and 
'val2'." ]
+[ "mtime",     "diff", "command mtime.diff(val1:timestamp, val2:timestamp):lng 
",      "MTIMEtimestamp_diff_msec;",    "returns the number of 
milliseconds\n\tbetween 'val1' and 'val2'."      ]
 [ "mtime",     "hours",        "command mtime.hours(h:daytime):int ",  
"MTIMEdaytime_extract_hours;",  "extracts hour from daytime"    ]
 [ "mtime",     "hours",        "command mtime.hours(msecs:lng):int ",  
"MTIMEsql_hours;",      ""      ]
 [ "mtime",     "hours",        "command mtime.hours(t:timestamp):int ",        
"MTIMEtimestamp_hours;",        ""      ]
-[ "mtime",     "local_timezone",       "command mtime.local_timezone():lng ",  
"MTIMElocal_timezone;", "get the local timezone in seconds"     ]
-[ "mtime",     "milliseconds", "command mtime.milliseconds(d:daytime):int ",   
"MTIMEdaytime_extract_milliseconds;",   "extracts milliseconds from daytime"    
]
-[ "mtime",     "milliseconds", "command mtime.milliseconds(t:timestamp):int ", 
"MTIMEtimestamp_milliseconds;", ""      ]
+[ "mtime",     "local_timezone",       "command mtime.local_timezone():lng ",  
"MTIMElocal_timezone_msec;",    "get the local timezone in seconds"     ]
 [ "mtime",     "minutes",      "command mtime.minutes(d:daytime):int ",        
"MTIMEdaytime_extract_minutes;",        "extracts minutes from daytime" ]
-[ "mtime",     "minutes",      "command mtime.minutes(t:zrule):int ",  
"MTIMErule_extract_minutes;",   "extract minutes from rule."    ]
 [ "mtime",     "minutes",      "command mtime.minutes(msecs:lng):int ",        
"MTIMEsql_minutes;",    ""      ]
 [ "mtime",     "minutes",      "command mtime.minutes(t:timestamp):int ",      
"MTIMEtimestamp_minutes;",      ""      ]
-[ "mtime",     "minutes",      "command mtime.minutes(t:timezone):int ",       
"MTIMEtzone_extract_minutes;",  "extract number of minutes that\n\ttime zone is 
offset wrt GMT."        ]
 [ "mtime",     "month",        "command mtime.month(d:date):int ",     
"MTIMEdate_extract_month;",     "extracts month from date"      ]
-[ "mtime",     "month",        "command mtime.month(t:zrule):int ",    
"MTIMErule_extract_month;",     "extract month from rule."      ]
 [ "mtime",     "month",        "command mtime.month(months:int):int ", 
"MTIMEsql_month;",      ""      ]
 [ "mtime",     "month",        "command mtime.month(t:timestamp):int ",        
"MTIMEtimestamp_month;",        ""      ]
-[ "mtime",     "monthname",    "command mtime.monthname(month:int):str ",      
"MTIMEmonth_to_str;",   "Returns month name from a number\n\tbetween [1-12], 
str(nil) otherwise."       ]
-[ "mtime",     "monthnum",     "command mtime.monthnum(month:str):int ",       
"MTIMEmonth_from_str;", "Returns month number [1-12] from a string\n\t or nil 
if does not match any."   ]
-[ "mtime",     "msec", "unsafe command mtime.msec():lng ",     "MTIMEmsec;",   
"get time of day in msec since 1-1-1970."       ]
-[ "mtime",     "msecs",        "command mtime.msecs(d:int, h:int, m:int, 
s:int, ms:int):lng ", "MTIMEmsecs;",  "convert date components to milliseconds" 
      ]
 [ "mtime",     "prelude",      "command mtime.prelude():void ",        
"MTIMEprelude;",        ""      ]
 [ "mtime",     "quarter",      "command mtime.quarter(d:date):int ",   
"MTIMEdate_extract_quarter;",   "extracts quarter from date"    ]
 [ "mtime",     "quarter",      "command mtime.quarter(t:timestamp):int ",      
"MTIMEtimestamp_quarter;",      ""      ]
-[ "mtime",     "rule", "command mtime.rule(mo:int, d:int, wkday:int, 
mi:int):zrule ",  "MTIMErule_create;",    "create a DST start/end date rule."   
  ]
-[ "mtime",     "rule", "command mtime.rule(s:str):zrule ",     
"MTIMErule_fromstr;",   "create a rule from a  string." ]
-[ "mtime",     "seconds",      "command mtime.seconds(d:daytime):int ",        
"MTIMEdaytime_extract_seconds;",        "extracts seconds from daytime" ]
 [ "mtime",     "seconds",      "command mtime.seconds(msecs:lng):int ",        
"MTIMEsql_seconds;",    ""      ]
-[ "mtime",     "seconds",      "command mtime.seconds(t:timestamp):int ",      
"MTIMEtimestamp_seconds;",      ""      ]
-[ "mtime",     "setTimezone",  "command mtime.setTimezone(name:str):timezone 
",        "MTIMEtimezone;",       "Test and set the timezone."    ]
 [ "mtime",     "sql_seconds",  "command mtime.sql_seconds(d:daytime):int ",    
"MTIMEdaytime_extract_sql_seconds;",    "extracts seconds (with fractional 
milliseconds) from daytime"  ]
 [ "mtime",     "sql_seconds",  "command mtime.sql_seconds(t:timestamp):int ",  
"MTIMEtimestamp_sql_seconds;",  ""      ]
-[ "mtime",     "start_dst",    "command mtime.start_dst(t:timezone):zrule ",   
"MTIMEtzone_extract_start;",    "extract rule that determines\n\tstart of DST 
from timezone."   ]
 [ "mtime",     "str_to_date",  "command mtime.str_to_date(s:str, 
format:str):date ",   "MTIMEstr_to_date;",    "create a date from the string, 
using the specified format (see man strptime)"  ]
 [ "mtime",     "str_to_time",  "command mtime.str_to_time(s:str, 
format:str):daytime ",        "MTIMEstr_to_time;",    "create a time from the 
string, using the specified format (see man strptime)"  ]
 [ "mtime",     "str_to_timestamp",     "command mtime.str_to_timestamp(s:str, 
format:str):timestamp ", "MTIMEstr_to_timestamp;",       "create a timestamp 
from the string, using the specified format (see man strptime)"     ]
-[ "mtime",     "time_add_msec_interval",       "command 
mtime.time_add_msec_interval(t:daytime, ms:lng):daytime ",     
"MTIMEtime_add_msec_interval_wrap;",    "Add seconds to a time" ]
-[ "mtime",     "time_sub_msec_interval",       "command 
mtime.time_sub_msec_interval(t:daytime, ms:lng):daytime ",     
"MTIMEtime_sub_msec_interval_wrap;",    "Subtract seconds from a time"  ]
-[ "mtime",     "time_synonyms",        "command 
mtime.time_synonyms(allow:bit):void ", "MTIMEsynonyms;",       "Allow synonyms 
for the parse format of\n\tdate/timestamp."     ]
+[ "mtime",     "time_add_msec_interval",       "command 
mtime.time_add_msec_interval(t:daytime, ms:lng):daytime ",     
"MTIMEtime_add_msec_interval;", "Add seconds to a time" ]
+[ "mtime",     "time_sub_msec_interval",       "command 
mtime.time_sub_msec_interval(t:daytime, ms:lng):daytime ",     
"MTIMEtime_sub_msec_interval;", "Subtract seconds from a time"  ]
 [ "mtime",     "time_to_str",  "command mtime.time_to_str(d:daytime, 
format:str):str ",        "MTIMEtime_to_str;",    "create a string from the 
time, using the specified format (see man strftime)"  ]
-[ "mtime",     "timestamp",    "command mtime.timestamp(t:timestamp):timestamp 
",      "MTIMEtimestamp2timestamp;",    ""      ]
-[ "mtime",     "timestamp",    "command mtime.timestamp(d:date, dt:daytime, 
t:timezone):timestamp ",   "MTIMEtimestamp_create;",       "creates a timestamp 
from (date, daytime,timezone) parameters." ]
-[ "mtime",     "timestamp",    "command mtime.timestamp(d:date, 
dt:daytime):timestamp ",       "MTIMEtimestamp_create_default;",       "creates 
a timestamp from (d,dt) parameters (in the local timezone)."   ]
-[ "mtime",     "timestamp",    "command mtime.timestamp(d:date):timestamp ",   
"MTIMEtimestamp_create_from_date;",     "creates a timestamp from (d,00:00:00) 
parameters (in the local timezone)."     ]
-[ "mtime",     "timestamp_add_month_interval", "command 
mtime.timestamp_add_month_interval(t:timestamp, s:lng):timestamp ",    
"MTIMEtimestamp_add_month_interval_lng_wrap;",  "Add months to a timestamp"     
]
-[ "mtime",     "timestamp_add_month_interval", "command 
mtime.timestamp_add_month_interval(t:timestamp, s:int):timestamp ",    
"MTIMEtimestamp_add_month_interval_wrap;",      "Add months to a timestamp"     
]
-[ "mtime",     "timestamp_add_msec_interval",  "command 
mtime.timestamp_add_msec_interval(t:timestamp, ms:lng):timestamp ",    
"MTIMEtimestamp_add;",  ""      ]
-[ "mtime",     "timestamp_sub_month_interval", "command 
mtime.timestamp_sub_month_interval(t:timestamp, s:lng):timestamp ",    
"MTIMEtimestamp_sub_month_interval_lng_wrap;",  "Subtract months from a 
timestamp"      ]
-[ "mtime",     "timestamp_sub_month_interval", "command 
mtime.timestamp_sub_month_interval(t:timestamp, s:int):timestamp ",    
"MTIMEtimestamp_sub_month_interval_wrap;",      "Subtract months from a 
timestamp"      ]
-[ "mtime",     "timestamp_sub_msec_interval",  "command 
mtime.timestamp_sub_msec_interval(t:timestamp, ms:lng):timestamp ",    
"MTIMEtimestamp_sub_msec_interval_lng_wrap;",   ""      ]
+[ "mtime",     "timestamp_add_month_interval", "command 
mtime.timestamp_add_month_interval(t:timestamp, s:int):timestamp ",    
"MTIMEtimestamp_add_month_interval;",   "Add months to a timestamp"     ]
+[ "mtime",     "timestamp_add_msec_interval",  "command 
mtime.timestamp_add_msec_interval(t:timestamp, ms:lng):timestamp ",    
"MTIMEtimestamp_add_msec_interval;",    ""      ]
+[ "mtime",     "timestamp_sub_month_interval", "command 
mtime.timestamp_sub_month_interval(t:timestamp, s:int):timestamp ",    
"MTIMEtimestamp_sub_month_interval;",   "Subtract months from a timestamp"      
]
+[ "mtime",     "timestamp_sub_msec_interval",  "command 
mtime.timestamp_sub_msec_interval(t:timestamp, ms:lng):timestamp ",    
"MTIMEtimestamp_sub_msec_interval;",    ""      ]
 [ "mtime",     "timestamp_to_str",     "command 
mtime.timestamp_to_str(d:timestamp, format:str):str ", 
"MTIMEtimestamp_to_str;",       "create a string from the time, using the 
specified format (see man strftime)"  ]
-[ "mtime",     "timezone",     "command mtime.timezone(s:int):timezone ",      
"MTIMEtzone_create;",   "Convert the int to a timezone."        ]
-[ "mtime",     "timezone",     "command mtime.timezone(mi:int, s:zrule, 
erule:zrule):timezone ",       "MTIMEtzone_create_dst;",       "create a 
timezone as an hour difference\n\tfrom GMT and a DST."        ]
-[ "mtime",     "timezone",     "command mtime.timezone(s:lng):timezone ",      
"MTIMEtzone_create_lng;",       "Convert the int to a timezone."        ]
-[ "mtime",     "timezone",     "command mtime.timezone(s:str):timezone ",      
"MTIMEtzone_fromstr;",  "Convert the string to a timezone."     ]
-[ "mtime",     "timezone_local",       "command 
mtime.timezone_local():timezone ",     "MTIMEtzone_get_local;",        "get the 
local timezone; which is used for printing timestamps" ]
-[ "mtime",     "timezone_local",       "command 
mtime.timezone_local(t:timezone):void ",       "MTIMEtzone_set_local;",        
"set the local timezone; which is used for printing timestamps" ]
-[ "mtime",     "week", "command mtime.week(d:date):int ",      
"MTIMEdate_extract_weekofyear;",        "Returns the week number in the year."  
]
-[ "mtime",     "weekday",      "command mtime.weekday(t:zrule):int ",  
"MTIMErule_extract_weekday;",   "extract weekday from rule."    ]
 [ "mtime",     "weekofyear",   "command mtime.weekofyear(d:date):int ",        
"MTIMEdate_extract_weekofyear;",        "Returns the week number in the year."  
]
-[ "mtime",     "year", "command mtime.year(d:date):int ",      
"MTIMEdate_extract_year;",      "extracts year from date (nonzero\n\tvalue 
between -5867411 and +5867411)."     ]
+[ "mtime",     "year", "command mtime.year(d:date):int ",      
"MTIMEdate_extract_year;",      "extracts year from date."      ]
 [ "mtime",     "year", "command mtime.year(months:int):int ",  
"MTIMEsql_year;",       ""      ]
 [ "mtime",     "year", "command mtime.year(t:timestamp):int ", 
"MTIMEtimestamp_year;", ""      ]
 [ "netcdf",    "attach",       "pattern netcdf.attach(filename:str):void ",    
"NCDFattach;",  "Register a NetCDF file in the vault"   ]
@@ -11518,6 +11474,7 @@ Ready.
 [ "optimizer", "no_mitosis_pipe",      "function 
optimizer.no_mitosis_pipe():void;",   "",     ""      ]
 [ "optimizer", "oltp", "pattern optimizer.oltp():str ",        "OPTwrapper;",  
""      ]
 [ "optimizer", "oltp", "pattern optimizer.oltp(mod:str, fcn:str):str ",        
"OPTwrapper;",  "Inject the OLTP locking primitives."   ]
+[ "optimizer", "oltp_pipe",    "function optimizer.oltp_pipe():void;", "",     
""      ]
 [ "optimizer", "optimize",     "pattern optimizer.optimize(mod:str, 
fcn:str):void ",   "QOToptimize;", "Optimize a specific operation" ]
 [ "optimizer", "orcam",        "pattern optimizer.orcam(mod:str, fcn:str, 
targetmod:str, targetfcn:str):void ",        "OPTorcam;",    "Inverse macro, 
find pattern and replace with a function call." ]
 [ "optimizer", "orcam",        "pattern optimizer.orcam(targetmod:str, 
targetfcn:str):void ",  "OPTorcam;",    "Inverse macro processor for current 
function"  ]
@@ -11621,14 +11578,6 @@ Ready.
 [ "remote",    "register",     "pattern remote.register(conn:str, mod:str, 
fcn:str):void ",    "RMTregister;", "register <mod>.<fcn> at the remote site"   
    ]
 [ "remote",    "register_supervisor",  "command 
remote.register_supervisor(sup_uuid:str, query_uuid:str):int ",        
"RMTregisterSupervisor;",       "Register the supervisor uuid at a remote site" 
]
 [ "remote",    "resolve",      "command remote.resolve(pattern:str):bat[:str] 
",       "RMTresolve;",  "resolve a pattern against Merovingian and return the 
URIs"     ]
-[ "sabaoth",   "epilogue",     "command sabaoth.epilogue():void ",     
"SABepilogue;", "Release the resources held by the sabaoth module"      ]
-[ "sabaoth",   "getLocalConnectionHost",       "command 
sabaoth.getLocalConnectionHost():str ",        "SABgetLocalConnectionHost;",   
"Returns the hostname this server can be connected to, or nil if none"  ]
-[ "sabaoth",   "getLocalConnectionPort",       "command 
sabaoth.getLocalConnectionPort():int ",        "SABgetLocalConnectionPort;",   
"Returns the port this server can be connected to, or 0 if none"        ]
-[ "sabaoth",   "getLocalConnectionURI",        "command 
sabaoth.getLocalConnectionURI():str ", "SABgetLocalConnectionURI;",    "Returns 
the URI this server can be connected to, or nil if none"       ]
-[ "sabaoth",   "marchConnection",      "command 
sabaoth.marchConnection(host:str, port:int):void ",    "SABmarchConnection;",  
"Publishes the given host/port as available for connecting to this server"      
]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to