Changeset: d3bc727468b1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d3bc727468b1
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        configure.ag
        gdk/gdk_logger.c
        monetdb5/mal/mal_runtime.c
        monetdb5/mal/mal_runtime.h
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/mtime.h
        monetdb5/modules/atoms/mtime.mal
        monetdb5/modules/atoms/mtime_analytic.c
        monetdb5/modules/atoms/mtime_private.h
        monetdb5/modules/mal/batmtime.mal
        monetdb5/modules/mal/batmtime.mal.sh
        monetdb5/modules/mal/clients.c
        monetdb5/modules/mal/oltp.c
        monetdb5/modules/mal/sysmon.c
        sql/backends/monet5/Tests/pyapi18.stable.out
        sql/backends/monet5/UDF/capi/capi.c
        sql/backends/monet5/UDF/pyapi3/Tests/pyapi3_18.stable.out
        sql/backends/monet5/generator/generator.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_datetrunc.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_statistics.c
        sql/backends/monet5/wlr.c
        sql/server/sql_parser.y
        sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.SQL.py
Branch: mtime
Log Message:

Completely reimplemented the mtime module.
This is a checkpoint of the changes so far.  The SQL tests run, but
there are still a bunch of errors.  I need to investigate more whether
it's the new code, or just a different, but equally valid (or even:
better) result.


diffs (truncated from 6566 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
@@ -65,7 +65,7 @@ stdout of test 'MAL-signatures` in direc
 % .L1, .L1,    .L1,    .L1,    .L1 # table_name
 % module,      function,       signature,      address,        comment # name
 % clob,        clob,   clob,   clob,   clob # type
-% 11,  28,     364,    43,     874 # length
+% 11,  28,     364,    38,     874 # length
 [ "aggr",      "allnotequal",  "command aggr.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"   ]
 [ "aggr",      "anyequal",     "command aggr.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" ]
 [ "aggr",      "avg",  "command aggr.avg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;",       "Grouped tail average on 
bte"   ]
@@ -6453,7 +6453,7 @@ stdout of test 'MAL-signatures` in direc
 [ "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(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"       ]
@@ -8675,9 +8675,9 @@ stdout of test 'MAL-signatures` in direc
 [ "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"     ]
@@ -8919,13 +8919,11 @@ stdout of test 'MAL-signatures` in direc
 [ "batmmath",  "tanh", "command batmmath.tanh(x:bat[:flt], 
s:bat[:oid]):bat[:flt] ",   "CMDscience_bat_flt_tanh_cand;",        ""      ]
 [ "batmtime",  "day",  "command batmtime.day(d:bat[:date]):bat[:int] ",        
"MTIMEdate_extract_day_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",  "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;",        
""      ]
@@ -10149,9 +10147,9 @@ stdout of test 'MAL-signatures` in direc
 [ "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;",      ""      ]
 [ "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"       ]
@@ -10674,11 +10672,11 @@ stdout of test 'MAL-signatures` in direc
 [ "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"      ]
@@ -11355,85 +11353,49 @@ stdout of test 'MAL-signatures` in direc
 [ "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",     "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):date ",        
"MTIMEtimestamp_extract_date;", "extracts date from timestamp." ]
-[ "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(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):daytime ",  
"MTIMEtimestamp_extract_daytime;",      "extracts daytime from timestamp."      
]
 [ "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",     "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",     "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(msecs:lng):int ",        
"MTIMEsql_minutes;",    ""      ]
 [ "mtime",     "minutes",      "command mtime.minutes(t:timestamp):int ",      
"MTIMEtimestamp_minutes;",      ""      ]
 [ "mtime",     "month",        "command mtime.month(d:date):int ",     
"MTIMEdate_extract_month;",     "extracts month from date"      ]
 [ "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",     "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",     "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",     "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):timestamp ",       "MTIMEtimestamp_create;",       "creates a 
timestamp from (date, daytime) parameters."  ]
-[ "mtime",     "timestamp",    "command mtime.timestamp(d:date):timestamp ",   
"MTIMEtimestamp_create_from_date;",     "creates a timestamp from (d,00:00:00) 
parameters."     ]
-[ "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",     "week", "command mtime.week(d:date):int ",      
"MTIMEdate_extract_weekofyear;",        "Returns the week number in the year."  
]
 [ "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(months:int):int ",  
"MTIMEsql_year;",       ""      ]
@@ -11962,12 +11924,7 @@ stdout of test 'MAL-signatures` in direc
 [ "timestamp", "==",   "pattern timestamp.==(v:timestamp, w:timestamp, 
nil_matches:bit):bit ", "CMDvarEQ;",    "Equality of two timestamps"    ]
 [ "timestamp", ">",    "pattern timestamp.>(v:timestamp, w:timestamp):bit ",   
"CMDvarGT;",    "Equality of two timestamps"    ]
 [ "timestamp", ">=",   "pattern timestamp.>=(v:timestamp, w:timestamp):bit ",  
"CMDvarGE;",    "Equality of two timestamps"    ]
-[ "timestamp", "epoch",        "unsafe command timestamp.epoch():timestamp ",  
"MTIMEcurrent_timestamp;",      "unix-time (epoch) support: seconds since the 
Unix epoch"       ]
-[ "timestamp", "epoch",        "command timestamp.epoch(t:timestamp):int ",    
"MTIMEepoch2int;",      "unix-time (epoch) support: seconds since epoch"        
]
-[ "timestamp", "epoch",        "command timestamp.epoch(t:int):timestamp ",    
"MTIMEtimestamp;",      "convert seconds since epoch into a timestamp"  ]
-[ "timestamp", "epoch",        "command timestamp.epoch(t:lng):timestamp ",    
"MTIMEtimestamplng;",   "convert milli seconds since epoch into a timestamp"    
]
 [ "timestamp", "isnil",        "pattern timestamp.isnil(v:timestamp):bit ",    
"CMDvarISNIL;", "Nil test for timestamp value"  ]
-[ "timestamp", "unix_epoch",   "unsafe command 
timestamp.unix_epoch():timestamp ",     "MTIMEunix_epoch;",     "The Unix epoch 
time (00:00:00 UTC on January 1, 1970)" ]
 [ "tokenizer", "append",       "command tokenizer.append(u:str):oid ", 
"TKNZRappend;", "tokenize a new string and append it to the tokenizer 
(duplicate elimination is performed)"     ]
 [ "tokenizer", "close",        "command tokenizer.close():void ",      
"TKNZRclose;",  "close the current tokenizer store"     ]
 [ "tokenizer", "depositFile",  "command tokenizer.depositFile(fnme:str):void 
",        "TKNZRdepositFile;",    "batch insertion from a file of strings to 
tokenize, each string is separated by a new line"    ]
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
@@ -69,7 +69,7 @@ stdout of test 'MAL-signatures` in direc
 % .L1, .L1,    .L1,    .L1,    .L1 # table_name
 % module,      function,       signature,      address,        comment # name
 % clob,        clob,   clob,   clob,   clob # type
-% 11,  28,     364,    43,     874 # length
+% 11,  28,     364,    38,     874 # length
 [ "aggr",      "allnotequal",  "command aggr.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"   ]
 [ "aggr",      "anyequal",     "command aggr.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" ]
 [ "aggr",      "avg",  "command aggr.avg(b:bat[:bte], g:bat[:oid], 
e:bat[:any_1]):bat[:dbl] ", "AGGRavg13_dbl;",       "Grouped tail average on 
bte"   ]
@@ -9084,7 +9084,7 @@ stdout of test 'MAL-signatures` in direc
 [ "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(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"       ]
@@ -12397,9 +12397,9 @@ stdout of test 'MAL-signatures` in direc
 [ "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"     ]
@@ -12647,13 +12647,11 @@ stdout of test 'MAL-signatures` in direc
 [ "batmmath",  "tanh", "command batmmath.tanh(x:bat[:flt], 
s:bat[:oid]):bat[:flt] ",   "CMDscience_bat_flt_tanh_cand;",        ""      ]
 [ "batmtime",  "day",  "command batmtime.day(d:bat[:date]):bat[:int] ",        
"MTIMEdate_extract_day_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",  "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;",        
""      ]
@@ -14319,9 +14317,9 @@ stdout of test 'MAL-signatures` in direc
 [ "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;",      ""      ]
 [ "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"       ]
@@ -15068,11 +15066,11 @@ stdout of test 'MAL-signatures` in direc
 [ "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"      ]
@@ -15767,85 +15765,49 @@ stdout of test 'MAL-signatures` in direc
 [ "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",     "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):date ",        
"MTIMEtimestamp_extract_date;", "extracts date from timestamp." ]
-[ "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(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"   ]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to