Changeset: 5ea87487bea9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5ea87487bea9
Added Files:
        sql/server/sql_var.c
        sql/test/scoping/Tests/All
        sql/test/scoping/Tests/SingleServer
        sql/test/scoping/Tests/ambiguity.sql
        sql/test/scoping/Tests/ambiguity.stable.err
        sql/test/scoping/Tests/ambiguity.stable.out
        sql/test/scoping/Tests/predefinedvariable.sql
        sql/test/scoping/Tests/predefinedvariable.stable.err
        sql/test/scoping/Tests/predefinedvariable.stable.out
        sql/test/scoping/Tests/schema_disambiguity.sql
        sql/test/scoping/Tests/schema_disambiguity.stable.err
        sql/test/scoping/Tests/schema_disambiguity.stable.out
        sql/test/scoping/Tests/scoping01.sql
        sql/test/scoping/Tests/scoping01.stable.err
        sql/test/scoping/Tests/scoping01.stable.out
        sql/test/scoping/Tests/scoping02.sql
        sql/test/scoping/Tests/scoping02.stable.err
        sql/test/scoping/Tests/scoping02.stable.out
        sql/test/scoping/Tests/scoping03.sql
        sql/test/scoping/Tests/scoping03.stable.err
        sql/test/scoping/Tests/scoping03.stable.out
Removed Files:
        sql/test/Tests/fsum1.stable.out
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/mhelp.c
        configure.ag
        gdk/gdk_time.c
        gdk/gdk_time.h
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/mtime.mal
        monetdb5/modules/mal/batmtime.mal
        sql/ChangeLog
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.mal
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_optimizer.c
        sql/backends/monet5/sql_orderidx.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statement.h
        sql/backends/monet5/sql_statistics.c
        sql/backends/monet5/sql_upgrades.c
        sql/backends/monet5/sql_user.c
        sql/backends/monet5/vaults/lidar/Makefile.ag
        sql/common/sql_hash.c
        sql/common/sql_list.c
        sql/include/sql_catalog.h
        sql/include/sql_hash.h
        sql/include/sql_relation.h
        sql/rel.txt
        sql/server/Makefile.ag
        sql/server/rel_dump.c
        sql/server/rel_exp.c
        sql/server/rel_exp.h
        sql/server/rel_psm.c
        sql/server/rel_rel.c
        sql/server/rel_schema.c
        sql/server/rel_schema.h
        sql/server/rel_select.c
        sql/server/rel_semantic.c
        sql/server/rel_sequence.c
        sql/server/rel_updates.c
        sql/server/sql_env.c
        sql/server/sql_env.h
        sql/server/sql_mvc.c
        sql/server/sql_mvc.h
        sql/server/sql_parser.y
        sql/server/sql_privileges.c
        sql/server/sql_privileges.h
        sql/server/sql_scan.c
        sql/server/sql_semantic.c
        sql/server/sql_semantic.h
        sql/storage/sql_storage.h
        sql/storage/store.c
        sql/test/BugConstraints/add_constraint_1643522.sql
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.sql
        sql/test/BugTracker-2009/Tests/set_and_arg_null.SF-2812729.sql
        sql/test/BugTracker-2009/Tests/set_and_arg_null.SF-2812729.stable.out
        sql/test/BugTracker-2010/Tests/predicate_in_select.Bug-2535.sql
        sql/test/BugTracker-2010/Tests/with_row_number_crash.Bug-2631.sql
        sql/test/BugTracker-2012/Tests/not-equal-Bug.3139.sql
        sql/test/BugTracker-2012/Tests/not-equal-Bug.3139.stable.out
        
sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.sql
        
sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out
        sql/test/BugTracker-2013/Tests/nested_concat_query.Bug-3408.sql
        sql/test/BugTracker-2013/Tests/nested_concat_query.Bug-3408.stable.out
        sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.sql
        sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err
        sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
        sql/test/BugTracker-2015/Tests/long_insert.Bug-3845.sql
        sql/test/BugTracker-2015/Tests/schema-trigger.Bug-3710.sql
        sql/test/BugTracker-2015/Tests/schema_view2.Bug-3766.sql
        sql/test/BugTracker-2017/Tests/error-clean-cache.Bug-6351.sql
        sql/test/BugTracker-2017/Tests/error-clean-cache.Bug-6351.stable.err
        sql/test/BugTracker-2017/Tests/error-clean-cache.Bug-6351.stable.out
        sql/test/BugTracker-2017/Tests/too-large-decimals.Bug-6192.stable.err
        sql/test/BugTracker-2018/Tests/comment-on-table-is-null.Bug-6639.sql
        sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.py
        sql/test/BugTracker-2019/Tests/alter_table_set_schema.Bug-6701.sql
        sql/test/BugTracker-2019/Tests/set-schema-mclient-msg.Bug-6754.sql
        
sql/test/BugTracker-2019/Tests/set-schema-mclient-msg.Bug-6754.stable.out
        sql/test/BugTracker/Tests/variables.SF-1508160.stable.err
        sql/test/BugTracker/Tests/variables.SF-1508160.stable.out
        sql/test/Dependencies/dependency_DBobjects.sql
        sql/test/Dependencies/dependency_functions.sql
        sql/test/Dependencies/dependency_owner_schema_3.sql
        sql/test/DropCascade/Tests/drop_columns_cascade.sql
        sql/test/DropCascade/Tests/drop_function_cascade.sql
        sql/test/DropCascade/Tests/drop_pkey_cascade.sql
        sql/test/DropCascade/Tests/drop_table_cascade.sql
        sql/test/DropCascade/Tests/drop_view_cascade.sql
        sql/test/SQLite_regress/sqllogictest/Tests/All
        sql/test/Tests/comment-on.stable.err
        sql/test/Tests/keys.sql
        sql/test/Tests/procedure_syntax.sql
        sql/test/Tests/session_vars.sql
        sql/test/Tests/session_vars.stable.err
        sql/test/Tests/session_vars.stable.out
        sql/test/Tests/zones.sql
        sql/test/Triggers/cascaded_triggers.sql
        sql/test/Triggers/referencing_clause_new.sql
        sql/test/Triggers/referencing_clause_old.sql
        sql/test/Triggers/trigger_activation.sql
        sql/test/Triggers/triggers_schema_operations.sql
        sql/test/Users/Tests/metadataConsistency.sql
        sql/test/Users/Tests/metadataConsistency.stable.out
        sql/test/Via-m/Tests/event_s03.stable.out
        sql/test/Via-m/Tests/event_s05.stable.out
        sql/test/Via-m/Tests/event_s07.stable.err
        sql/test/Via-m/Tests/event_s09.stable.out
        sql/test/Via-m/Tests/event_s11.stable.err
        sql/test/Via-m/Tests/event_s11.stable.out
        sql/test/Via-m/Tests/file_s04.stable.out
        sql/test/Via-m/Tests/file_s05.stable.out
        sql/test/Via-m/Tests/file_s06.stable.out
        sql/test/Via-m/Tests/file_s08.stable.out
        sql/test/Via-m/Tests/file_s10.stable.err
        sql/test/Via-m/Tests/file_s12.stable.err
        sql/test/Via-m/Tests/file_s15.stable.out
        sql/test/Via-m/Tests/media_s04.stable.out
        sql/test/Via-m/Tests/media_s06.stable.out
        sql/test/Via-m/Tests/media_s08.stable.out
        sql/test/Via-m/Tests/media_s10.stable.out
        sql/test/Via-m/Tests/media_s12.stable.err
        sql/test/Via-m/Tests/media_s14.stable.err
        sql/test/Via-m/Tests/media_s16.stable.err
        sql/test/Via-m/Tests/media_s18.stable.err
        sql/test/Via-m/Tests/media_s19.stable.err
        sql/test/Via-m/insert_event1.sql
        sql/test/Via-m/insert_event2.sql
        sql/test/Via-m/insert_event3.sql
        sql/test/Via-m/insert_event4.sql
        sql/test/Via-m/insert_file2.sql
        sql/test/Via-m/insert_file3.sql
        sql/test/Via-m/insert_file4.sql
        sql/test/Via-m/insert_file5.sql
        sql/test/Via-m/insert_file6.sql
        sql/test/Via-m/insert_file7.sql
        sql/test/Via-m/insert_file8.sql
        sql/test/Via-m/insert_media1.sql
        sql/test/Via-m/insert_media2.sql
        sql/test/Via-m/insert_media3.sql
        sql/test/Via-m/insert_media4.sql
        sql/test/Via-m/insert_media5.sql
        sql/test/Via-m/insert_media6.sql
        sql/test/Via-m/insert_media7.sql
        sql/test/bugs/Tests/create_insert_select_aggr-bug-00001.sql
        sql/test/bugs/Tests/create_insert_select_aggr-bug-00001.stable.err
        sql/test/bugs/Tests/union_all-bug-sf-941788.sql
        sql/test/emptydb/Tests/check.SQL.py
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.32bit
        sql/test/emptydb/Tests/check.stable.out.int128
        sql/test/in-value-list/Tests/various-in-value-list-queries.sql
        sql/test/json/Tests/components.sql
        sql/test/json/Tests/pathexpr.sql
        sql/test/mapi/Tests/sql_int128.sql
        sql/test/mapi/Tests/sql_int128.stable.out.int128
        sql/test/mergetables/Tests/part-elim.sql
        sql/test/mergetables/Tests/part-elim.stable.out
        sql/test/miscellaneous/Tests/All
        sql/test/miscellaneous/Tests/deallocate.sql
        sql/test/miscellaneous/Tests/deallocate.stable.out
        sql/test/miscellaneous/Tests/declared_tables.sql
        sql/test/miscellaneous/Tests/declared_tables.stable.err
        sql/test/miscellaneous/Tests/declared_tables.stable.out
        sql/test/miscellaneous/Tests/simple_selects.sql
        sql/test/miscellaneous/Tests/simple_selects.stable.err
        sql/test/miscellaneous/Tests/simple_selects.stable.out
        sql/test/miscellaneous/Tests/table_udf_missing_var.py
        sql/test/miscellaneous/Tests/table_udf_missing_var.stable.err
        sql/test/miscellaneous/Tests/table_udf_missing_var.stable.out
        sql/test/orderidx/Tests/imprints_all_types.sql
        sql/test/orderidx/Tests/oidx_all_types.sql
        sql/test/pg_regress/Tests/alter_table.stable.err
        sql/test/pg_regress/Tests/horology.stable.err
        sql/test/pg_regress/Tests/timestamp.sql
        sql/test/pg_regress/Tests/timestamp.stable.out
        sql/test/pg_regress/Tests/timestamptz.sql
        sql/test/pg_regress/Tests/timestamptz.stable.out
        sql/test/ssqq/Tests/insert_query.stable.err
        sql/test/ssqq/Tests/insert_query.stable.out
        sql/test/ssqq/Tests/insert_queue.stable.err
        sql/test/ssqq/Tests/insert_queue.stable.out
        sql/test/ssqq/Tests/insert_quser.stable.err
        sql/test/ssqq/Tests/insert_quser.stable.out
        sql/test/ssqq/insert_query.sql
        sql/test/ssqq/insert_queue.sql
        sql/test/ssqq/insert_quser.sql
        sql/test/subquery/Tests/subquery4.sql
        sql/test/subquery/Tests/subquery4.stable.err
        sql/test/subquery/Tests/subquery4.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
Branch: unlock
Log Message:

merging fun...


diffs (truncated from 15830 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
@@ -11308,10 +11308,18 @@ stdout of test 'MAL-signatures` in direc
 [ "batmmath",  "tanh", "pattern batmmath.tanh(x:bat[:flt], 
r:bat[:bit]):bat[:flt] ",   "CMDscience_bat_tanh;", ""      ]
 [ "batmmath",  "tanh", "pattern batmmath.tanh(x:bat[:flt], 
s:bat[:oid]):bat[:flt] ",   "CMDscience_bat_tanh;", ""      ]
 [ "batmmath",  "tanh", "pattern batmmath.tanh(x:bat[:flt], s:bat[:oid], 
r:bat[:bit]):bat[:flt] ",      "CMDscience_bat_tanh;", ""      ]
+[ "batmtime",  "addmonths",    "command batmtime.addmonths(value:bat[:date], 
months:bat[:int]):bat[:date] ",   "MTIMEdate_addmonths_bulk;",    ""      ]
 [ "batmtime",  "century",      "command 
batmtime.century(d:bat[:date]):bat[:int] ",    
"MTIMEdate_extract_century_bulk;",      ""      ]
+[ "batmtime",  "date_add_msec_interval",       "command 
batmtime.date_add_msec_interval(t:bat[:date], ms:bat[:lng]):bat[:date] ",      
"MTIMEdate_add_msec_interval_bulk;",    ""      ]
+[ "batmtime",  "date_sub_month_interval",      "command 
batmtime.date_sub_month_interval(value:bat[:date], months:bat[:int]):bat[:date] 
",     "MTIMEdate_submonths_bulk;",    ""      ]
+[ "batmtime",  "date_sub_msec_interval",       "command 
batmtime.date_sub_msec_interval(t:bat[:date], ms:bat[:lng]):bat[:date] ",      
"MTIMEdate_sub_msec_interval_bulk;",    ""      ]
 [ "batmtime",  "day",  "command batmtime.day(d:bat[:date]):bat[:int] ",        
"MTIMEdate_extract_day_bulk;",  ""      ]
+[ "batmtime",  "dayofweek",    "command 
batmtime.dayofweek(d:bat[:date]):bat[:int] ",  
"MTIMEdate_extract_dayofweek_bulk;",    ""      ]
+[ "batmtime",  "dayofyear",    "command 
batmtime.dayofyear(d:bat[:date]):bat[:int] ",  
"MTIMEdate_extract_dayofyear_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(val1:bat[:date], 
val2:bat[:date]):bat[:int] ",   "MTIMEdate_diff_bulk;", "returns the number of 
days\n\tbetween 'val1' and 'val2'."      ]
+[ "batmtime",  "diff", "command batmtime.diff(b1:bat[:daytime], 
b2:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_diff_msec_bulk;", "Difference of 
two sets of daytime."    ]
 [ "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",  "minutes",      "command 
batmtime.minutes(d:bat[:daytime]):bat[:int] ", 
"MTIMEdaytime_extract_minutes_bulk;",   ""      ]
@@ -11319,8 +11327,13 @@ stdout of test 'MAL-signatures` in direc
 [ "batmtime",  "quarter",      "command 
batmtime.quarter(d:bat[:date]):bat[:int] ",    
"MTIMEdate_extract_quarter_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",  "time_add_msec_interval",       "command 
batmtime.time_add_msec_interval(t:bat[:daytime], ms:bat[:lng]):bat[:daytime] ", 
       "MTIMEtime_add_msec_interval_bulk;",    ""      ]
+[ "batmtime",  "time_sub_msec_interval",       "command 
batmtime.time_sub_msec_interval(t:bat[:daytime], ms:bat[:lng]):bat[:daytime] ", 
       "MTIMEtime_sub_msec_interval_bulk;",    ""      ]
+[ "batmtime",  "timestamp_add_month_interval", "command 
batmtime.timestamp_add_month_interval(t:bat[:timestamp], 
s:bat[:int]):bat[:timestamp] ",       
"MTIMEtimestamp_add_month_interval_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_month_interval", "command 
batmtime.timestamp_sub_month_interval(t:bat[:timestamp], 
s:bat[:int]):bat[:timestamp] ",       
"MTIMEtimestamp_sub_month_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",  "weekofyear",   "command 
batmtime.weekofyear(d:bat[:date]):bat[:int] ", 
"MTIMEdate_extract_weekofyear_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;",   ""      ]
@@ -13865,7 +13878,7 @@ stdout of test 'MAL-signatures` in direc
 [ "mtime",     "current_time", "command mtime.current_time():daytime ",        
"MTIMEcurrent_time;",   ""      ]
 [ "mtime",     "current_timestamp",    "command 
mtime.current_timestamp():timestamp ", "MTIMEcurrent_timestamp;",      ""      ]
 [ "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_month_interval",      "command 
mtime.date_sub_month_interval(t:date, months: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;", ""      ]
 [ "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 "       ]
@@ -14181,7 +14194,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "export_table", "unsafe pattern sql.export_table(fname:str, 
fmt:str, colsep:str, recsep:str, qout:str, nullrep:str, onclient:int, 
tbl:bat[:str], attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int], 
cols:any...):int ",     "mvc_export_row_wrap;", "Prepare a table result set for 
the COPY INTO stream"   ]
 [ "sql",       "export_table", "unsafe pattern sql.export_table(fname:str, 
fmt:str, colsep:str, recsep:str, qout:str, nullrep:str, onclient:int, 
tbl:bat[:str], attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int], 
cols:bat[:any]...):int ",       "mvc_export_table_wrap;",       "Prepare a 
table result set for the COPY INTO stream"   ]
 [ "sql",       "first_value",  "pattern sql.first_value(b:any_1, s:lng, 
e:lng):any_1 ",        "SQLfirst_value;",      "return the first value of 
groups"      ]
-[ "sql",       "getVariable",  "pattern sql.getVariable(mvc:int, 
varname:str):any_1 ", "getVariable;", "Get the value of a session variable"   ]
+[ "sql",       "getVariable",  "pattern sql.getVariable(mvc:int, sname:str, 
varname:str):any_1 ",      "getVariable;", "Get the value of a session 
variable"   ]
 [ "sql",       "getVersion",   "command sql.getVersion(clientid:int):lng ",    
"mvc_getVersion;",      "Return the database version identifier for a client."  
]
 [ "sql",       "get_value",    "pattern sql.get_value(sname:str, 
sequence:str):lng ",  "mvc_get_value;",       "return the current value of the 
sequence"      ]
 [ "sql",       "grow", "pattern sql.grow(tid:bat[:oid], X_0:any_1):int ",      
"mvc_grow_wrap;",       "Resize the tid column of a declared table."    ]
@@ -14245,7 +14258,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "row_number",   "pattern sql.row_number(b:any_1, p:bit, 
o:bit):int ",   "SQLrow_number;",       "return the row_numer-ed groups"        
]
 [ "sql",       "rt_credentials",       "pattern 
sql.rt_credentials(tablename:str) (uri:bat[:str], username:bat[:str], 
hash:bat[:str]) ",       "sql_rt_credentials_wrap;",     "Return the remote 
table credentials for the given table"       ]
 [ "sql",       "sessions",     "pattern sql.sessions() (id:bat[:int], 
user:bat[:str], start:bat[:timestamp], idle:bat[:timestamp], 
optmizer:bat[:str], stimeout:bat[:int], qtimeout:bat[:int], wlimit:bat[:int], 
mlimit:bat[:int]) ",  "sql_sessions_wrap;",   "SQL export table of active 
sessions, their timeouts and idle status"   ]
-[ "sql",       "setVariable",  "unsafe pattern sql.setVariable(mvc:int, 
varname:str, value:any_1):int ",       "setVariable;", "Set the value of a 
session variable"   ]
+[ "sql",       "setVariable",  "unsafe pattern sql.setVariable(mvc:int, 
sname:str, varname:str, value:any_1):int ",    "setVariable;", "Set the value 
of a session variable"   ]
 [ "sql",       "shutdown",     "pattern sql.shutdown(delay:bte):str ", 
"SQLshutdown_wrap;",    ""      ]
 [ "sql",       "shutdown",     "pattern sql.shutdown(delay:bte, force:bit):str 
",      "SQLshutdown_wrap;",    ""      ]
 [ "sql",       "shutdown",     "pattern sql.shutdown(delay:int):str ", 
"SQLshutdown_wrap;",    ""      ]
@@ -14254,7 +14267,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "shutdown",     "pattern sql.shutdown(delay:sht, force:bit):str 
",      "SQLshutdown_wrap;",    ""      ]
 [ "sql",       "single",       "pattern sql.single(x:any_2):bat[:any_2] ",     
"CMDBATsingle;",        ""      ]
 [ "sql",       "sql_environment",      "inline function sql.sql_environment() 
(name:bat[:str], value:bat[:str]);",     "",     ""      ]
-[ "sql",       "sql_variables",        "pattern sql.sql_variables():bat[:str] 
",       "sql_variables;",       "return the table with session variables"      
 ]
+[ "sql",       "sql_variables",        "pattern sql.sql_variables() 
(sname:bat[:str], name:bat[:str], type:bat[:str], value:bat[:str]) ",      
"sql_variables;",       "return the table with session variables"       ]
 [ "sql",       "stdev",        "pattern sql.stdev(b:bte, s:lng, e:lng):dbl ",  
"SQLstddev_samp;",      "return the standard deviation sample of groups"        
]
 [ "sql",       "stdev",        "pattern sql.stdev(b:dbl, s:lng, e:lng):dbl ",  
"SQLstddev_samp;",      "return the standard deviation sample of groups"        
]
 [ "sql",       "stdev",        "pattern sql.stdev(b:flt, s:lng, e:lng):dbl ",  
"SQLstddev_samp;",      "return the standard deviation sample of groups"        
]
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
@@ -16098,10 +16098,18 @@ stdout of test 'MAL-signatures` in direc
 [ "batmmath",  "tanh", "pattern batmmath.tanh(x:bat[:flt], 
r:bat[:bit]):bat[:flt] ",   "CMDscience_bat_tanh;", ""      ]
 [ "batmmath",  "tanh", "pattern batmmath.tanh(x:bat[:flt], 
s:bat[:oid]):bat[:flt] ",   "CMDscience_bat_tanh;", ""      ]
 [ "batmmath",  "tanh", "pattern batmmath.tanh(x:bat[:flt], s:bat[:oid], 
r:bat[:bit]):bat[:flt] ",      "CMDscience_bat_tanh;", ""      ]
+[ "batmtime",  "addmonths",    "command batmtime.addmonths(value:bat[:date], 
months:bat[:int]):bat[:date] ",   "MTIMEdate_addmonths_bulk;",    ""      ]
 [ "batmtime",  "century",      "command 
batmtime.century(d:bat[:date]):bat[:int] ",    
"MTIMEdate_extract_century_bulk;",      ""      ]
+[ "batmtime",  "date_add_msec_interval",       "command 
batmtime.date_add_msec_interval(t:bat[:date], ms:bat[:lng]):bat[:date] ",      
"MTIMEdate_add_msec_interval_bulk;",    ""      ]
+[ "batmtime",  "date_sub_month_interval",      "command 
batmtime.date_sub_month_interval(value:bat[:date], months:bat[:int]):bat[:date] 
",     "MTIMEdate_submonths_bulk;",    ""      ]
+[ "batmtime",  "date_sub_msec_interval",       "command 
batmtime.date_sub_msec_interval(t:bat[:date], ms:bat[:lng]):bat[:date] ",      
"MTIMEdate_sub_msec_interval_bulk;",    ""      ]
 [ "batmtime",  "day",  "command batmtime.day(d:bat[:date]):bat[:int] ",        
"MTIMEdate_extract_day_bulk;",  ""      ]
+[ "batmtime",  "dayofweek",    "command 
batmtime.dayofweek(d:bat[:date]):bat[:int] ",  
"MTIMEdate_extract_dayofweek_bulk;",    ""      ]
+[ "batmtime",  "dayofyear",    "command 
batmtime.dayofyear(d:bat[:date]):bat[:int] ",  
"MTIMEdate_extract_dayofyear_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(val1:bat[:date], 
val2:bat[:date]):bat[:int] ",   "MTIMEdate_diff_bulk;", "returns the number of 
days\n\tbetween 'val1' and 'val2'."      ]
+[ "batmtime",  "diff", "command batmtime.diff(b1:bat[:daytime], 
b2:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_diff_msec_bulk;", "Difference of 
two sets of daytime."    ]
 [ "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",  "minutes",      "command 
batmtime.minutes(d:bat[:daytime]):bat[:int] ", 
"MTIMEdaytime_extract_minutes_bulk;",   ""      ]
@@ -16109,8 +16117,13 @@ stdout of test 'MAL-signatures` in direc
 [ "batmtime",  "quarter",      "command 
batmtime.quarter(d:bat[:date]):bat[:int] ",    
"MTIMEdate_extract_quarter_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",  "time_add_msec_interval",       "command 
batmtime.time_add_msec_interval(t:bat[:daytime], ms:bat[:lng]):bat[:daytime] ", 
       "MTIMEtime_add_msec_interval_bulk;",    ""      ]
+[ "batmtime",  "time_sub_msec_interval",       "command 
batmtime.time_sub_msec_interval(t:bat[:daytime], ms:bat[:lng]):bat[:daytime] ", 
       "MTIMEtime_sub_msec_interval_bulk;",    ""      ]
+[ "batmtime",  "timestamp_add_month_interval", "command 
batmtime.timestamp_add_month_interval(t:bat[:timestamp], 
s:bat[:int]):bat[:timestamp] ",       
"MTIMEtimestamp_add_month_interval_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_month_interval", "command 
batmtime.timestamp_sub_month_interval(t:bat[:timestamp], 
s:bat[:int]):bat[:timestamp] ",       
"MTIMEtimestamp_sub_month_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",  "weekofyear",   "command 
batmtime.weekofyear(d:bat[:date]):bat[:int] ", 
"MTIMEdate_extract_weekofyear_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;",   ""      ]
@@ -19350,7 +19363,7 @@ stdout of test 'MAL-signatures` in direc
 [ "mtime",     "current_time", "command mtime.current_time():daytime ",        
"MTIMEcurrent_time;",   ""      ]
 [ "mtime",     "current_timestamp",    "command 
mtime.current_timestamp():timestamp ", "MTIMEcurrent_timestamp;",      ""      ]
 [ "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_month_interval",      "command 
mtime.date_sub_month_interval(t:date, months: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;", ""      ]
 [ "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 "       ]
@@ -19671,7 +19684,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "export_table", "unsafe pattern sql.export_table(fname:str, 
fmt:str, colsep:str, recsep:str, qout:str, nullrep:str, onclient:int, 
tbl:bat[:str], attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int], 
cols:any...):int ",     "mvc_export_row_wrap;", "Prepare a table result set for 
the COPY INTO stream"   ]
 [ "sql",       "export_table", "unsafe pattern sql.export_table(fname:str, 
fmt:str, colsep:str, recsep:str, qout:str, nullrep:str, onclient:int, 
tbl:bat[:str], attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int], 
cols:bat[:any]...):int ",       "mvc_export_table_wrap;",       "Prepare a 
table result set for the COPY INTO stream"   ]
 [ "sql",       "first_value",  "pattern sql.first_value(b:any_1, s:lng, 
e:lng):any_1 ",        "SQLfirst_value;",      "return the first value of 
groups"      ]
-[ "sql",       "getVariable",  "pattern sql.getVariable(mvc:int, 
varname:str):any_1 ", "getVariable;", "Get the value of a session variable"   ]
+[ "sql",       "getVariable",  "pattern sql.getVariable(mvc:int, sname:str, 
varname:str):any_1 ",      "getVariable;", "Get the value of a session 
variable"   ]
 [ "sql",       "getVersion",   "command sql.getVersion(clientid:int):lng ",    
"mvc_getVersion;",      "Return the database version identifier for a client."  
]
 [ "sql",       "get_value",    "pattern sql.get_value(sname:str, 
sequence:str):lng ",  "mvc_get_value;",       "return the current value of the 
sequence"      ]
 [ "sql",       "grow", "pattern sql.grow(tid:bat[:oid], X_0:any_1):int ",      
"mvc_grow_wrap;",       "Resize the tid column of a declared table."    ]
@@ -19741,7 +19754,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "row_number",   "pattern sql.row_number(b:any_1, p:bit, 
o:bit):int ",   "SQLrow_number;",       "return the row_numer-ed groups"        
]
 [ "sql",       "rt_credentials",       "pattern 
sql.rt_credentials(tablename:str) (uri:bat[:str], username:bat[:str], 
hash:bat[:str]) ",       "sql_rt_credentials_wrap;",     "Return the remote 
table credentials for the given table"       ]
 [ "sql",       "sessions",     "pattern sql.sessions() (id:bat[:int], 
user:bat[:str], start:bat[:timestamp], idle:bat[:timestamp], 
optmizer:bat[:str], stimeout:bat[:int], qtimeout:bat[:int], wlimit:bat[:int], 
mlimit:bat[:int]) ",  "sql_sessions_wrap;",   "SQL export table of active 
sessions, their timeouts and idle status"   ]
-[ "sql",       "setVariable",  "unsafe pattern sql.setVariable(mvc:int, 
varname:str, value:any_1):int ",       "setVariable;", "Set the value of a 
session variable"   ]
+[ "sql",       "setVariable",  "unsafe pattern sql.setVariable(mvc:int, 
sname:str, varname:str, value:any_1):int ",    "setVariable;", "Set the value 
of a session variable"   ]
 [ "sql",       "shutdown",     "pattern sql.shutdown(delay:bte):str ", 
"SQLshutdown_wrap;",    ""      ]
 [ "sql",       "shutdown",     "pattern sql.shutdown(delay:bte, force:bit):str 
",      "SQLshutdown_wrap;",    ""      ]
 [ "sql",       "shutdown",     "pattern sql.shutdown(delay:int):str ", 
"SQLshutdown_wrap;",    ""      ]
@@ -19750,7 +19763,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "shutdown",     "pattern sql.shutdown(delay:sht, force:bit):str 
",      "SQLshutdown_wrap;",    ""      ]
 [ "sql",       "single",       "pattern sql.single(x:any_2):bat[:any_2] ",     
"CMDBATsingle;",        ""      ]
 [ "sql",       "sql_environment",      "inline function sql.sql_environment() 
(name:bat[:str], value:bat[:str]);",     "",     ""      ]
-[ "sql",       "sql_variables",        "pattern sql.sql_variables():bat[:str] 
",       "sql_variables;",       "return the table with session variables"      
 ]
+[ "sql",       "sql_variables",        "pattern sql.sql_variables() 
(sname:bat[:str], name:bat[:str], type:bat[:str], value:bat[:str]) ",      
"sql_variables;",       "return the table with session variables"       ]
 [ "sql",       "stdev",        "pattern sql.stdev(b:bte, s:lng, e:lng):dbl ",  
"SQLstddev_samp;",      "return the standard deviation sample of groups"        
]
 [ "sql",       "stdev",        "pattern sql.stdev(b:dbl, s:lng, e:lng):dbl ",  
"SQLstddev_samp;",      "return the standard deviation sample of groups"        
]
 [ "sql",       "stdev",        "pattern sql.stdev(b:flt, s:lng, e:lng):dbl ",  
"SQLstddev_samp;",      "return the standard deviation sample of groups"        
]
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
@@ -454,6 +454,7 @@ int date_year(date dt) __attribute__((__
 daytime daytime_add_usec(daytime tm, lng usec) __attribute__((__const__));
 daytime daytime_add_usec_modulo(daytime tm, lng usec) 
__attribute__((__const__));
 daytime daytime_create(int hour, int minute, int second, int usec) 
__attribute__((__const__));
+lng daytime_diff(daytime d1, daytime d2) __attribute__((__const__));
 ssize_t daytime_fromstr(const char *buf, size_t *len, daytime **d, bool 
external);
 int daytime_hour(daytime tm) __attribute__((__const__));
 int daytime_min(daytime tm) __attribute__((__const__));
@@ -1507,32 +1508,43 @@ str MTIMEanalyticalrangebounds(BAT *r, B
 str MTIMEcurrent_date(date *ret);
 str MTIMEcurrent_time(daytime *ret);
 str MTIMEcurrent_timestamp(timestamp *ret);
-str MTIMEdate_add_msec_interval(date *ret, const date *d, const lng *ms);
-str MTIMEdate_addmonths(date *ret, const date *d, const int *m);
-str MTIMEdate_date(date *dst, const date *src);
+str MTIMEdate_add_msec_interval(date *ret, const date *v1, const lng *v2);
+str MTIMEdate_add_msec_interval_bulk(bat *ret, const bat *bid1, const bat 
*bid2);
+str MTIMEdate_addmonths(date *ret, const date *v1, const int *v2);
+str MTIMEdate_addmonths_bulk(bat *ret, const bat *bid1, const bat *bid2);
+str MTIMEdate_date(date *ret, const date *src);
+str MTIMEdate_date_bulk(bat *ret, const bat *bid);
 str MTIMEdate_diff(int *ret, const date *v1, const date *v2);
 str MTIMEdate_diff_bulk(bat *ret, const bat *bid1, const bat *bid2);
 str MTIMEdate_extract_century(int *ret, const date *src);
 str MTIMEdate_extract_century_bulk(bat *ret, const bat *bid);
 str MTIMEdate_extract_day(int *ret, const date *src);
 str MTIMEdate_extract_day_bulk(bat *ret, const bat *bid);
-str MTIMEdate_extract_dayofweek(int *ret, const date *d);
-str MTIMEdate_extract_dayofyear(int *ret, const date *d);
+str MTIMEdate_extract_dayofweek(int *ret, const date *src);
+str MTIMEdate_extract_dayofweek_bulk(bat *ret, const bat *bid);
+str MTIMEdate_extract_dayofyear(int *ret, const date *src);
+str MTIMEdate_extract_dayofyear_bulk(bat *ret, const bat *bid);
 str MTIMEdate_extract_decade(int *ret, const date *src);
 str MTIMEdate_extract_decade_bulk(bat *ret, const bat *bid);
 str MTIMEdate_extract_month(int *ret, const date *src);
 str MTIMEdate_extract_month_bulk(bat *ret, const bat *bid);
 str MTIMEdate_extract_quarter(int *ret, const date *src);
 str MTIMEdate_extract_quarter_bulk(bat *ret, const bat *bid);
-str MTIMEdate_extract_weekofyear(int *ret, const date *d);
+str MTIMEdate_extract_weekofyear(int *ret, const date *src);
+str MTIMEdate_extract_weekofyear_bulk(bat *ret, const bat *bid);
 str MTIMEdate_extract_year(int *ret, const date *src);
 str MTIMEdate_extract_year_bulk(bat *ret, const bat *bid);
 str MTIMEdate_fromstr(date *ret, const char *const *s);
-str MTIMEdate_sub_msec_interval(date *ret, const date *d, const lng *ms);
-str MTIMEdate_submonths(date *ret, const date *d, const int *m);
-str MTIMEdate_to_str(str *ret, const date *d, const char *const *format);
-str MTIMEdaytime_daytime(daytime *dst, const daytime *src);
-str MTIMEdaytime_diff_msec(lng *ret, const daytime *t1, const daytime *t2);
+str MTIMEdate_sub_msec_interval(date *ret, const date *v1, const lng *v2);
+str MTIMEdate_sub_msec_interval_bulk(bat *ret, const bat *bid1, const bat 
*bid2);
+str MTIMEdate_submonths(date *ret, const date *v1, const int *v2);
+str MTIMEdate_submonths_bulk(bat *ret, const bat *bid1, const bat *bid2);
+str MTIMEdate_to_str(str *ret, const const date *v1, const const char *const 
*v2);
+str MTIMEdate_to_str_bulk(bat *ret, const bat *bid1, const bat *bid2);
+str MTIMEdaytime_daytime(daytime *ret, const daytime *src);
+str MTIMEdaytime_daytime_bulk(bat *ret, const bat *bid);
+str MTIMEdaytime_diff_msec(lng *ret, const daytime *v1, const daytime *v2);
+str MTIMEdaytime_diff_msec_bulk(bat *ret, const bat *bid1, const bat *bid2);
 str MTIMEdaytime_extract_hours(int *ret, const daytime *src);
 str MTIMEdaytime_extract_hours_bulk(bat *ret, const bat *bid);
 str MTIMEdaytime_extract_minutes(int *ret, const daytime *src);
@@ -1543,26 +1555,42 @@ str MTIMEdaytime_fromseconds(daytime *re
 str MTIMEdaytime_fromseconds_bulk(bat *ret, bat *bid);
 str MTIMEdaytime_fromstr(daytime *ret, const char *const *s);
 str MTIMElocal_timezone_msec(lng *ret);
-str MTIMEseconds_since_epoch(int *ret, const timestamp *t);
-str MTIMEsql_day(lng *ret, const lng *msecs);
-str MTIMEsql_hours(int *ret, const lng *msecs);
-str MTIMEsql_minutes(int *ret, const lng *msecs);
-str MTIMEsql_month(int *ret, const int *months);
-str MTIMEsql_seconds(int *ret, const lng *msecs);
-str MTIMEsql_year(int *ret, const int *months);
-str MTIMEstr_to_date(date *ret, const char *const *s, const char *const 
*format);
-str MTIMEstr_to_time(daytime *ret, const char *const *s, const char *const 
*format);
-str MTIMEstr_to_timestamp(timestamp *ret, const char *const *s, const char 
*const *format);
-str MTIMEtime_add_msec_interval(daytime *ret, const daytime *t, const lng *ms);
-str MTIMEtime_sub_msec_interval(daytime *ret, const daytime *t, const lng *ms);
-str MTIMEtime_to_str(str *ret, const daytime *d, const char *const *format);
-str MTIMEtimestamp_add_month_interval(timestamp *ret, const timestamp *t, 
const int *m);
-str MTIMEtimestamp_add_msec_interval(timestamp *ret, const timestamp *t, const 
lng *ms);
+str MTIMEseconds_since_epoch(int *ret, const timestamp *src);
+str MTIMEseconds_since_epoch_bulk(bat *ret, const bat *bid);
+str MTIMEsql_day(lng *ret, const lng *src);
+str MTIMEsql_day_bulk(bat *ret, const bat *bid);
+str MTIMEsql_hours(int *ret, const lng *src);
+str MTIMEsql_hours_bulk(bat *ret, const bat *bid);
+str MTIMEsql_minutes(int *ret, const lng *src);
+str MTIMEsql_minutes_bulk(bat *ret, const bat *bid);
+str MTIMEsql_month(int *ret, const int *src);
+str MTIMEsql_month_bulk(bat *ret, const bat *bid);
+str MTIMEsql_seconds(int *ret, const lng *src);
+str MTIMEsql_seconds_bulk(bat *ret, const bat *bid);
+str MTIMEsql_year(int *ret, const int *src);
+str MTIMEsql_year_bulk(bat *ret, const bat *bid);
+str MTIMEstr_to_date(date *ret, const const char *const *v1, const const char 
*const *v2);
+str MTIMEstr_to_date_bulk(bat *ret, const bat *bid1, const bat *bid2);
+str MTIMEstr_to_time(daytime *ret, const const char *const *v1, const const 
char *const *v2);
+str MTIMEstr_to_time_bulk(bat *ret, const bat *bid1, const bat *bid2);
+str MTIMEstr_to_timestamp(timestamp *ret, const const char *const *v1, const 
const char *const *v2);
+str MTIMEstr_to_timestamp_bulk(bat *ret, const bat *bid1, const bat *bid2);
+str MTIMEtime_add_msec_interval(daytime *ret, const daytime *v1, const lng 
*v2);
+str MTIMEtime_add_msec_interval_bulk(bat *ret, const bat *bid1, const bat 
*bid2);
+str MTIMEtime_sub_msec_interval(daytime *ret, const daytime *v1, const lng 
*v2);
+str MTIMEtime_sub_msec_interval_bulk(bat *ret, const bat *bid1, const bat 
*bid2);
+str MTIMEtime_to_str(str *ret, const const daytime *v1, const const char 
*const *v2);
+str MTIMEtime_to_str_bulk(bat *ret, const bat *bid1, const bat *bid2);
+str MTIMEtimestamp_add_month_interval(timestamp *ret, const timestamp *v1, 
const int *v2);
+str MTIMEtimestamp_add_month_interval_bulk(bat *ret, const bat *bid1, const 
bat *bid2);
 str MTIMEtimestamp_add_msec_interval(timestamp *ret, const timestamp *v1, 
const lng *v2);
 str MTIMEtimestamp_add_msec_interval_bulk(bat *ret, const bat *bid1, const bat 
*bid2);
-str MTIMEtimestamp_century(int *ret, const timestamp *t);
-str MTIMEtimestamp_day(int *ret, const timestamp *t);
-str MTIMEtimestamp_decade(int *ret, const timestamp *t);
+str MTIMEtimestamp_century(int *ret, const timestamp *src);
+str MTIMEtimestamp_century_bulk(bat *ret, const bat *bid);
+str MTIMEtimestamp_day(int *ret, const timestamp *src);
+str MTIMEtimestamp_day_bulk(bat *ret, const bat *bid);
+str MTIMEtimestamp_decade(int *ret, const timestamp *src);
+str MTIMEtimestamp_decade_bulk(bat *ret, const bat *bid);
 str MTIMEtimestamp_diff_msec(lng *ret, const timestamp *v1, const timestamp 
*v2);
 str MTIMEtimestamp_diff_msec_bulk(bat *ret, const bat *bid1, const bat *bid2);
 str MTIMEtimestamp_extract_date(date *ret, const timestamp *src);
@@ -1576,19 +1604,26 @@ str MTIMEtimestamp_frommsec_bulk(bat *re
 str MTIMEtimestamp_fromsecond(timestamp *ret, const int *src);
 str MTIMEtimestamp_fromsecond_bulk(bat *ret, const bat *bid);
 str MTIMEtimestamp_fromstr(timestamp *ret, const char *const *s);
-str MTIMEtimestamp_hours(int *ret, const timestamp *t);
-str MTIMEtimestamp_minutes(int *ret, const timestamp *t);
-str MTIMEtimestamp_month(int *ret, const timestamp *t);
-str MTIMEtimestamp_quarter(int *ret, const timestamp *t);
+str MTIMEtimestamp_hours(int *ret, const timestamp *src);
+str MTIMEtimestamp_hours_bulk(bat *ret, const bat *bid);
+str MTIMEtimestamp_minutes(int *ret, const timestamp *src);
+str MTIMEtimestamp_minutes_bulk(bat *ret, const bat *bid);
+str MTIMEtimestamp_month(int *ret, const timestamp *src);
+str MTIMEtimestamp_month_bulk(bat *ret, const bat *bid);
+str MTIMEtimestamp_quarter(int *ret, const timestamp *src);
+str MTIMEtimestamp_quarter_bulk(bat *ret, const bat *bid);
 str MTIMEtimestamp_sql_seconds(int *ret, const timestamp *src);
 str MTIMEtimestamp_sql_seconds_bulk(bat *ret, const bat *bid);
-str MTIMEtimestamp_sub_month_interval(timestamp *ret, const timestamp *t, 
const int *m);
-str MTIMEtimestamp_sub_msec_interval(timestamp *ret, const timestamp *t, const 
lng *ms);
+str MTIMEtimestamp_sub_month_interval(timestamp *ret, const timestamp *v1, 
const int *v2);
+str MTIMEtimestamp_sub_month_interval_bulk(bat *ret, const bat *bid1, const 
bat *bid2);
 str MTIMEtimestamp_sub_msec_interval(timestamp *ret, const timestamp *v1, 
const lng *v2);
 str MTIMEtimestamp_sub_msec_interval_bulk(bat *ret, const bat *bid1, const bat 
*bid2);
-str MTIMEtimestamp_timestamp(timestamp *dst, const timestamp *src);
-str MTIMEtimestamp_to_str(str *ret, const timestamp *d, const char *const 
*format);
-str MTIMEtimestamp_year(int *ret, const timestamp *t);
+str MTIMEtimestamp_timestamp(timestamp *ret, const timestamp *src);
+str MTIMEtimestamp_timestamp_bulk(bat *ret, const bat *bid);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to