Changeset: 10b8c83abd6e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=10b8c83abd6e
Added Files:
        ctest/cmake/test_detect_legacy_var.c.in
        ctest/cmake/test_package_detect.c.in
        ctest/tools/monetdbe/example_append_raw.c
        misc/packages/deb/changelog
        misc/packages/deb/copyright
        misc/packages/rpm/COPYING
        misc/packages/rpm/changelog
        sql/backends/monet5/sql_time.c
        sql/test/BugTracker-2017/Tests/date-arithmetic.Bug-6415.stable.err
        sql/test/BugTracker-2017/Tests/date-arithmetic.Bug-6415.stable.out
        sql/test/astro/Tests/All
        sql/test/astro/Tests/drop.sql
        sql/test/astro/Tests/drop.stable.err
        sql/test/astro/Tests/drop.stable.out
        sql/test/astro/Tests/schema.sql
        sql/test/astro/Tests/schema.stable.err
        sql/test/astro/Tests/schema.stable.out
        sql/test/astro/Tests/update.sql
        sql/test/astro/Tests/update.stable.err
        sql/test/astro/Tests/update.stable.out
        sql/test/miscellaneous/Tests/vessels.sql
        sql/test/miscellaneous/Tests/vessels.stable.err
        sql/test/miscellaneous/Tests/vessels.stable.out
Removed Files:
        COPYING
        ctest/cmake/test_detect_curl.c.in
        ctest/cmake/test_detect_fits.c.in
        monetdb_config_win32.h.in
        sql/backends/monet5/sql_bat2time.c
Modified Files:
        CMakeLists.txt
        clients/R/Tests/dbi.R
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/CMakeLists.txt
        clients/mapiclient/dump.c
        clients/mapilib/CMakeLists.txt
        cmake/monetdb-deb-packages.cmake
        cmake/monetdb-defines.cmake
        cmake/monetdb-functions.cmake
        cmake/monetdb-packages.cmake
        cmake/monetdb-rpm-packages.cmake
        cmake/monetdb-toolchain.cmake
        common/options/CMakeLists.txt
        common/stream/CMakeLists.txt
        common/utils/msabaoth.c
        common/utils/msabaoth.h
        common/utils/mstring.h
        common/utils/mutils.c
        common/utils/mutils.h
        ctest/cmake/CMakeLists.txt
        ctest/cmake/detect-curl.cmake
        ctest/cmake/detect-fits.cmake
        ctest/cmake/set-cmake-vars.cmake
        ctest/cmake/set-dir-vars.cmake
        ctest/monetdb5/mal/test_malEmbeddedBoot.c
        ctest/tools/monetdbe/CMakeLists.txt
        ctest/tools/monetdbe/example2.c
        gdk/CMakeLists.txt
        gdk/gdk_aggr.c
        gdk/gdk_bat.c
        gdk/gdk_posix.h
        gdk/gdk_string.c
        gdk/gdk_utils.c
        monetdb5/mal/Tests/tst830.stable.out
        monetdb5/mal/mal.c
        monetdb5/mal/mal_authorize.c
        monetdb5/mal/mal_embedded.c
        monetdb5/mal/mal_embedded.h
        monetdb5/modules/atoms/xml.c
        monetdb5/optimizer/opt_postfix.c
        monetdb5/tools/CMakeLists.txt
        monetdb_config.h.in
        sql/CMakeLists.txt
        sql/ChangeLog
        sql/backends/monet5/CMakeLists.txt
        sql/backends/monet5/Tests/rapi13.sql
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.h
        sql/backends/monet5/sql.mal
        sql/backends/monet5/sql_cast.c
        sql/backends/monet5/sql_round_impl.h
        sql/backends/monet5/sql_upgrades.c
        sql/backends/monet5/vaults/shp/shp.h
        sql/common/sql_list.c
        sql/common/sql_types.c
        sql/include/sql_catalog.h
        sql/include/sql_list.h
        sql/rel.txt
        sql/scripts/58_hot_snapshot.sql
        sql/server/rel_dump.c
        sql/server/rel_exp.c
        sql/server/rel_exp.h
        sql/server/rel_optimizer.c
        sql/server/rel_propagate.c
        sql/server/rel_psm.c
        sql/server/rel_rel.c
        sql/server/rel_rel.h
        sql/server/rel_rewriter.c
        sql/server/rel_rewriter.h
        sql/server/rel_schema.c
        sql/server/rel_select.c
        sql/server/rel_select.h
        sql/server/rel_sequence.c
        sql/server/rel_unnest.c
        sql/server/rel_updates.c
        sql/server/rel_xml.c
        sql/server/sql_atom.c
        sql/server/sql_atom.h
        sql/server/sql_parser.y
        sql/storage/bat/bat_logger.c
        sql/test/BugDay_2005-10-06_2.8/Tests/mixed_type.SF-917372.sql
        sql/test/BugDay_2005-10-06_2.8/Tests/mixed_type.SF-917372.stable.err
        sql/test/BugDay_2005-10-06_2.8/Tests/mixed_type.SF-917372.stable.out
        sql/test/BugDay_2005-10-06_2.9.3/Tests/set_types.SF-932360.sql
        
sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_interval.SF.1280682.stable.err
        
sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_interval.SF.1280682.stable.out
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        
sql/test/BugTracker-2010/Tests/ORDER_BY_over_UNION_EXCEPT_INTERSECT.Bug-2606.stable.out
        sql/test/BugTracker-2011/Tests/CASE_nested_functions.Bug-2852.sql
        sql/test/BugTracker-2011/Tests/CASE_nested_functions.Bug-2852.stable.out
        sql/test/BugTracker-2011/Tests/default-interval.Bug-2877.sql
        
sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.err
        
sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out
        sql/test/BugTracker-2012/Tests/interval_timestamp.Bug-3002.stable.err
        
sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.sql
        sql/test/BugTracker-2014/Tests/aggregates-intervals.Bug-3533.sql
        sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
        sql/test/BugTracker-2015/Tests/div_zero.Bug-3742.sql
        sql/test/BugTracker-2015/Tests/div_zero.Bug-3742.stable.out
        sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.sql
        sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.stable.out
        sql/test/BugTracker-2015/Tests/window_function_crash.Bug-3861.stable.err
        
sql/test/BugTracker-2016/Tests/column_name_lost_in_in_operator.Bug-6123.sql
        
sql/test/BugTracker-2016/Tests/column_name_lost_in_in_operator.Bug-6123.stable.out
        sql/test/BugTracker-2016/Tests/epoch.Bug-3979.sql
        
sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
        sql/test/BugTracker-2016/Tests/select-in-from.Bug-6119.sql
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out
        sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.out
        sql/test/BugTracker-2017/Tests/crash_on_NULL_ptr.Bug-6130.sql
        sql/test/BugTracker-2017/Tests/date-arithmetic.Bug-6415.sql
        sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.sql
        sql/test/BugTracker-2017/Tests/one-plus-nil.Bug-6243.stable.out
        
sql/test/BugTracker-2018/Tests/count_from_commented_function_signatures.Bug-6542.stable.out
        
sql/test/BugTracker-2018/Tests/local_replica_table_not_detected.Bug-6620.stable.out
        sql/test/BugTracker-2019/Tests/cast-interval.Bug-6793.sql
        sql/test/BugTracker-2019/Tests/cast-interval.Bug-6793.stable.err
        sql/test/BugTracker-2019/Tests/cast-interval.Bug-6793.stable.out
        sql/test/BugTracker/Tests/authorization.SF-1430616.stable.out
        sql/test/Dependencies/Tests/Dependencies.stable.out
        sql/test/Dependencies/Tests/Dependencies.stable.out.int128
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-0join-query.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-1join-query.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-2join-query.stable.out
        sql/test/SQLancer/Tests/All
        sql/test/SQLancer/Tests/sqlancer02.sql
        sql/test/SQLancer/Tests/sqlancer02.stable.err
        sql/test/SQLancer/Tests/sqlancer02.stable.out
        sql/test/Skyserver/Skyserver_functions.sql
        sql/test/Skyserver/Skyserver_functions_v6.sql
        sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.out
        sql/test/analytics/Tests/analytics17.stable.out
        sql/test/bugs/Tests/interval_convert_bugs-sf-1274077-1274085.sql
        sql/test/bugs/Tests/interval_convert_bugs-sf-1274077-1274085.stable.err
        sql/test/bugs/Tests/interval_convert_bugs-sf-1274077-1274085.stable.out
        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/group-concat/Tests/groupconcat05.sql
        sql/test/group-concat/Tests/groupconcat05.stable.out
        sql/test/lateral/Tests/lateral.sql
        sql/test/mapi/Tests/sql_dec38.sql
        sql/test/mapi/Tests/sql_int128.sql
        sql/test/miscellaneous/Tests/All
        sql/test/miscellaneous/Tests/declared_tables.stable.out
        sql/test/miscellaneous/Tests/groupby_error.stable.out
        sql/test/miscellaneous/Tests/groupby_expressions.stable.out
        sql/test/miscellaneous/Tests/simple_plans.stable.out
        sql/test/miscellaneous/Tests/simple_plans.stable.out.single
        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.stable.out
        sql/test/miscellaneous/Tests/trace_test.stable.out
        sql/test/pg_regress/Tests/arrays.stable.err
        sql/test/pg_regress/Tests/case.stable.out
        sql/test/pg_regress/Tests/date.stable.err
        sql/test/pg_regress/Tests/date.stable.out
        sql/test/pg_regress/Tests/float4.stable.out
        sql/test/pg_regress/Tests/float8.stable.out
        sql/test/pg_regress/Tests/float8.stable.out.Windows
        sql/test/pg_regress/Tests/interval.stable.err
        sql/test/pg_regress/Tests/interval.stable.err.int128
        sql/test/pg_regress/Tests/interval.stable.out
        sql/test/pg_regress/Tests/interval.stable.out.int128
        sql/test/pg_regress/Tests/path.stable.out
        sql/test/pg_regress/Tests/polygon.stable.out
        sql/test/pg_regress/Tests/reltime.sql
        sql/test/pg_regress/Tests/time.stable.err
        sql/test/pg_regress/Tests/time.stable.out
        sql/test/pg_regress/Tests/timestamp.sql
        sql/test/pg_regress/Tests/timestamp.stable.err
        sql/test/pg_regress/Tests/timestamp.stable.out
        sql/test/pg_regress/Tests/timestamptz.sql
        sql/test/pg_regress/Tests/timestamptz.stable.err
        sql/test/pg_regress/Tests/timestamptz.stable.out
        sql/test/pg_regress/Tests/timetz.stable.err
        sql/test/pg_regress/Tests/timetz.stable.out
        sql/test/scripts/Tests/fsum.stable.err
        sql/test/scripts/Tests/fsum.stable.out
        sql/test/snodgrass/Tests/cast_select.sql
        sql/test/snodgrass/Tests/cast_select.stable.err
        sql/test/snodgrass/Tests/cast_select.stable.out
        sql/test/subquery/Tests/subquery4.stable.err
        sql/test/subquery/Tests/subquery6.sql
        sql/test/subquery/Tests/subquery6.stable.err
        sql/test/subquery/Tests/subquery6.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
        testing/CMakeLists.txt
        tools/merovingian/daemon/CMakeLists.txt
        tools/merovingian/daemon/config/CMakeLists.txt
        tools/merovingian/daemon/controlrunner.c
        tools/merovingian/daemon/discoveryrunner.c
        tools/merovingian/daemon/forkmserver.c
        tools/merovingian/daemon/merovingian.c
        tools/merovingian/daemon/merovingian.h
        tools/merovingian/daemon/snapshot.c
        tools/monetdbe/CMakeLists.txt
        tools/monetdbe/monetdbe.c
        tools/monetdbe/monetdbe.h
        tools/monetdbe/monetdbe_mapi.c
        tools/mserver/CMakeLists.txt
        tools/mserver/mserver5.c
        unistd.h.in
Branch: msk-type
Log Message:

Merge with default branch.


diffs (truncated from 34426 to 300 lines):

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -106,14 +106,11 @@ set(PROGRAM_PERMISSIONS_DEFAULT
 
 find_program(BASH NAMES bash DOC "bash interpreter fullpath")
 
+configure_file(monetdb_config.h.in
+  ${CMAKE_CURRENT_BINARY_DIR}/monetdb_config.h)
 if(WIN32)
-  configure_file(monetdb_config_win32.h.in
-    ${CMAKE_CURRENT_BINARY_DIR}/monetdb_config.h)
   configure_file(unistd.h.in
     ${CMAKE_CURRENT_BINARY_DIR}/unistd.h)
-else()
-  configure_file(monetdb_config.h.in
-    ${CMAKE_CURRENT_BINARY_DIR}/monetdb_config.h)
 endif()
 
 add_library(monetdb_config_header
diff --git a/clients/R/Tests/dbi.R b/clients/R/Tests/dbi.R
--- a/clients/R/Tests/dbi.R
+++ b/clients/R/Tests/dbi.R
@@ -193,7 +193,7 @@ stopifnot(identical("Роман Mühleisen", 
dbGetQuery(conn,"SELECT a FROM monetdbtest")$a[[1]]))
 dbRollback(conn)
 
 # this returns a column with esoteric type MONTH_INTERVAL
-stopifnot(identical(1L, as.integer(dbGetQuery(con, "select cast(1 as interval 
month) - cast(0 as interval month)")[[1]][[1]])))
+stopifnot(identical(1L, as.integer(dbGetQuery(con, "select interval '1' month 
+ interval '0' month")[[1]][[1]])))
 
 # reserved words in data frame column names
 stopifnot(dbIsValid(conn))
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
@@ -4573,19 +4573,21 @@ stdout of test 'MAL-signatures` in direc
 [ "batcalc",   "date", "command batcalc.date(X_1:bat[:date]):bat[:date] ",     
"MTIMEdate_date_bulk;", ""      ]
 [ "batcalc",   "date", "command batcalc.date(X_1:bat[:str]):bat[:date] ",      
"MTIMEdate_fromstr_bulk;",      ""      ]
 [ "batcalc",   "date", "command batcalc.date(X_1:bat[:timestamp]):bat[:date] 
",        "MTIMEtimestamp_extract_date_bulk;",    ""      ]
-[ "batcalc",   "date", "command batcalc.date(X_1:bat[:oid]):bat[:date] ",      
"batnil_2_date;",       ""      ]
-[ "batcalc",   "date", "command batcalc.date(X_1:bat[:oid], 
X_2:bat[:bit]):bat[:date] ",       "batnil_ce_2_date;",    ""      ]
 [ "batcalc",   "date", "command batcalc.date(X_1:bat[:str]):bat[:date] ",      
"batstr_2_date;",       ""      ]
 [ "batcalc",   "date", "command batcalc.date(X_1:bat[:str], 
X_2:bat[:bit]):bat[:date] ",       "batstr_ce_2_date;",    ""      ]
+[ "batcalc",   "date", "pattern batcalc.date(X_1:bat[:oid]):bat[:date] ",      
"nil_2_date;",  ""      ]
+[ "batcalc",   "date", "pattern batcalc.date(X_1:bat[:oid], 
X_2:bat[:bit]):bat[:date] ",       "nil_2_date;",  ""      ]
 [ "batcalc",   "daytime",      "command 
batcalc.daytime(X_1:bat[:daytime]):bat[:daytime] ",    
"MTIMEdaytime_daytime_bulk;",   ""      ]
 [ "batcalc",   "daytime",      "command 
batcalc.daytime(X_1:bat[:lng]):bat[:daytime] ",        
"MTIMEdaytime_fromseconds_bulk;",       ""      ]
 [ "batcalc",   "daytime",      "command 
batcalc.daytime(X_1:bat[:str]):bat[:daytime] ",        
"MTIMEdaytime_fromstr_bulk;",   ""      ]
 [ "batcalc",   "daytime",      "command 
batcalc.daytime(X_1:bat[:timestamp]):bat[:daytime] ",  
"MTIMEtimestamp_extract_daytime_bulk;", ""      ]
-[ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:daytime], 
X_2:int):bat[:daytime] ",   "batdaytime_2time_daytime;",    ""      ]
-[ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:oid], 
X_2:int):bat[:daytime] ",       "batnil_2time_daytime;",        ""      ]
-[ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:oid], 
X_2:int, X_3:bat[:bit]):bat[:daytime] ",        "batnil_ce_2time_daytime;",     
""      ]
 [ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:str], 
X_2:int):bat[:daytime] ",       "batstr_2time_daytime;",        ""      ]
-[ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:str], 
X_2:int, X_3:int):bat[:daytime] ",      "batstr_2time_daytimetz;",      ""      
]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:daytime], 
X_2:int):bat[:daytime] ",   "daytime_2time_daytime;",       ""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:oid], 
X_2:int):bat[:daytime] ",       "nil_2time_daytime;",   ""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:oid], 
X_2:int, X_3:bat[:bit]):bat[:daytime] ",        "nil_2time_daytime;",   ""      
]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:lng], 
X_2:int):bat[:daytime] ",       "second_interval_2_daytime;",   ""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:daytime], 
X_2:int):bat[:daytime] ",   "str_2time_daytimetz;", ""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:timestamp], 
X_2:int):bat[:daytime] ", "timestamp_2_daytime;", ""      ]
 [ "batcalc",   "dbl",  "pattern batcalc.dbl(X_1:bat[:bit]):bat[:dbl] ",        
"CMDconvertsignal_dbl;",        ""      ]
 [ "batcalc",   "dbl",  "pattern batcalc.dbl(X_1:bat[:bit], 
X_2:bat[:bit]):bat[:dbl] ", "CMDconvertsignal_dbl;",        ""      ]
 [ "batcalc",   "dbl",  "pattern batcalc.dbl(X_1:bat[:bit], 
X_2:bat[:oid]):bat[:dbl] ", "CMDconvertsignal_dbl;",        ""      ]
@@ -6023,6 +6025,11 @@ stdout of test 'MAL-signatures` in direc
 [ "batcalc",   "mod_noerror",  "pattern batcalc.mod_noerror(X_1:sht, 
X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:bit]):bat[:int] ", "CMDbatMOD;",   ""    
  ]
 [ "batcalc",   "mod_noerror",  "pattern batcalc.mod_noerror(X_1:sht, 
X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:bit]):bat[:lng] ", "CMDbatMOD;",   ""    
  ]
 [ "batcalc",   "mod_noerror",  "pattern batcalc.mod_noerror(X_1:sht, 
X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:bit]):bat[:sht] ", "CMDbatMOD;",   ""    
  ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:bte], X_2:int, X_3:int):bat[:int] ",   
"month_interval;",      ""      ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:int], X_2:int, X_3:int):bat[:int] ",   
"month_interval;",      ""      ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:lng], X_2:int, X_3:int):bat[:int] ",   
"month_interval;",      ""      ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:sht], X_2:int, X_3:int):bat[:int] ",   
"month_interval;",      ""      ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:str], X_2:int, X_3:int):bat[:int] ",   
"month_interval_str;",  ""      ]
 [ "batcalc",   "mul_noerror",  "pattern batcalc.mul_noerror(X_1:bat[:bte], 
X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:oid]):bat[:bte] ",   "CMDbatMUL;",   ""  
    ]
 [ "batcalc",   "mul_noerror",  "pattern batcalc.mul_noerror(X_1:bat[:bte], 
X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:oid], X_5:bat[:bit]):bat[:bte] ",    
"CMDbatMUL;",   ""      ]
 [ "batcalc",   "mul_noerror",  "pattern batcalc.mul_noerror(X_1:bat[:bte], 
X_2:bat[:dbl], X_3:bat[:oid], X_4:bat[:oid]):bat[:dbl] ",   "CMDbatMUL;",   ""  
    ]
@@ -6424,6 +6431,16 @@ stdout of test 'MAL-signatures` in direc
 [ "batcalc",   "or",   "pattern batcalc.or(X_1:sht, X_2:bat[:sht], 
X_3:bat[:oid]):bat[:sht] ", "CMDbatOR;",    ""      ]
 [ "batcalc",   "or",   "pattern batcalc.or(X_1:sht, X_2:bat[:sht], 
X_3:bat[:oid], X_4:bat[:bit]):bat[:sht] ",  "CMDbatOR;",    ""      ]
 [ "batcalc",   "rotate_xor_hash",      "command 
batcalc.rotate_xor_hash(X_1:bat[:lng], X_2:int, X_3:bat[:any_1]):bat[:int] ",  
"MKEYbulk_rotate_xor_hash;",    ""      ]
+[ "batcalc",   "second_interval",      "command 
batcalc.second_interval(X_1:int, X_2:bat[:bte], X_3:int, X_4:int):bat[:lng] ", 
"bte_batdec2second_interval;",  ""      ]
+[ "batcalc",   "second_interval",      "command 
batcalc.second_interval(X_1:int, X_2:bat[:int], X_3:int, X_4:int):bat[:lng] ", 
"int_batdec2second_interval;",  ""      ]
+[ "batcalc",   "second_interval",      "command 
batcalc.second_interval(X_1:int, X_2:bat[:lng], X_3:int, X_4:int):bat[:lng] ", 
"lng_batdec2second_interval;",  ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:bte], X_2:int, X_3:int):bat[:lng] ",  
"second_interval;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:int], X_2:int, X_3:int):bat[:lng] ",  
"second_interval;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:lng], X_2:int, X_3:int):bat[:lng] ",  
"second_interval;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:sht], X_2:int, X_3:int):bat[:lng] ",  
"second_interval;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:daytime], X_2:int, X_3:int):bat[:lng] ",      
"second_interval_daytime;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:str], X_2:int, X_3:int):bat[:lng] ",  
"second_interval_str;", ""      ]
+[ "batcalc",   "second_interval",      "command 
batcalc.second_interval(X_1:int, X_2:bat[:sht], X_3:int, X_4:int):bat[:lng] ", 
"sht_batdec2second_interval;",  ""      ]
 [ "batcalc",   "sht",  "pattern batcalc.sht(X_1:bat[:bit]):bat[:sht] ",        
"CMDconvertsignal_sht;",        ""      ]
 [ "batcalc",   "sht",  "pattern batcalc.sht(X_1:bat[:bit], 
X_2:bat[:bit]):bat[:sht] ", "CMDconvertsignal_sht;",        ""      ]
 [ "batcalc",   "sht",  "pattern batcalc.sht(X_1:bat[:bit], 
X_2:bat[:oid]):bat[:sht] ", "CMDconvertsignal_sht;",        ""      ]
@@ -6784,11 +6801,12 @@ stdout of test 'MAL-signatures` in direc
 [ "batcalc",   "timestamp",    "command 
batcalc.timestamp(X_1:bat[:int]):bat[:timestamp] ",    
"MTIMEtimestamp_fromsecond_bulk;",      ""      ]
 [ "batcalc",   "timestamp",    "command 
batcalc.timestamp(X_1:bat[:str]):bat[:timestamp] ",    
"MTIMEtimestamp_fromstr_bulk;", ""      ]
 [ "batcalc",   "timestamp",    "command 
batcalc.timestamp(X_1:bat[:timestamp]):bat[:timestamp] ",      
"MTIMEtimestamp_timestamp_bulk;",       ""      ]
-[ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:oid], 
X_2:int):bat[:timestamp] ",   "batnil_2time_timestamp;",      ""      ]
-[ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:oid], 
X_2:int, X_3:bat[:BAT]):bat[:timestamp] ",    "batnil_ce_2time_timestamp;",   
""      ]
 [ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:str], 
X_2:int):bat[:timestamp] ",   "batstr_2time_timestamp;",      ""      ]
 [ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:str], 
X_2:int, X_3:int):bat[:timestamp] ",  "batstr_2time_timestamptz;",    ""      ]
-[ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:timestamp], 
X_2:int):bat[:timestamp] ",     "battimestamp_2time_timestamp;",        ""      
]
+[ "batcalc",   "timestamp",    "pattern batcalc.timestamp(X_1:bat[:date], 
X_2:int):bat[:timestamp] ",  "date_2_timestamp;",    ""      ]
+[ "batcalc",   "timestamp",    "pattern batcalc.timestamp(X_1:bat[:oid], 
X_2:int):bat[:timestamp] ",   "nil_2time_timestamp;", ""      ]
+[ "batcalc",   "timestamp",    "pattern batcalc.timestamp(X_1:bat[:oid], 
X_2:int, X_3:bat[:BAT]):bat[:timestamp] ",    "nil_2time_timestamp;", ""      ]
+[ "batcalc",   "timestamp",    "pattern batcalc.timestamp(X_1:bat[:timestamp], 
X_2:int):bat[:timestamp] ",     "timestamp_2time_timestamp;",   ""      ]
 [ "batcalc",   "wkb",  "command batcalc.wkb(X_1:bat[:wkb], X_2:int, 
X_3:int):bat[:wkb] ",      "geom_2_geom_bat;",     ""      ]
 [ "batcalc",   "xml",  "command batcalc.xml(X_1:bat[:str]):bat[:xml] ",        
"BATXMLstr2xml;",       ""      ]
 [ "batcalc",   "xor",  "pattern batcalc.xor(X_1:bat[:bit], 
X_2:bat[:bit]):bat[:bit] ", "CMDbatXOR;",   ""      ]
@@ -8593,18 +8611,18 @@ stdout of test 'MAL-signatures` in direc
 [ "calc",      "date", "command calc.date(X_1:date):date ",    
"MTIMEdate_date;",      ""      ]
 [ "calc",      "date", "command calc.date(X_1:str):date ",     
"MTIMEdate_fromstr;",   ""      ]
 [ "calc",      "date", "command calc.date(X_1:timestamp):date ",       
"MTIMEtimestamp_extract_date;", ""      ]
-[ "calc",      "date", "command calc.date(X_1:void):date ",    "nil_2_date;",  
""      ]
-[ "calc",      "date", "command calc.date(X_1:str):date ",     "str_2_date;",  
""      ]
+[ "calc",      "date", "pattern calc.date(X_1:void):date ",    "nil_2_date;",  
""      ]
+[ "calc",      "date", "pattern calc.date(X_1:str):date ",     "str_2_date;",  
""      ]
 [ "calc",      "daytime",      "command calc.daytime(X_1:daytime):daytime ",   
"MTIMEdaytime_daytime;",        ""      ]
 [ "calc",      "daytime",      "command calc.daytime(X_1:lng):daytime ",       
"MTIMEdaytime_fromseconds;",    ""      ]
 [ "calc",      "daytime",      "command calc.daytime(X_1:str):daytime ",       
"MTIMEdaytime_fromstr;",        ""      ]
 [ "calc",      "daytime",      "command calc.daytime(X_1:timestamp):daytime ", 
"MTIMEtimestamp_extract_daytime;",      ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:daytime, 
X_2:int):daytime ",  "daytime_2time_daytime;",       ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:void, 
X_2:int):daytime ",     "nil_2time_daytime;",   ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:lng, X_2:int):daytime 
",      "second_interval_2_daytime;",   ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:str, X_2:int):daytime 
",      "str_2time_daytime;",   ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:str, X_2:int, 
X_3:int):daytime ",     "str_2time_daytimetz;", ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:timestamp, 
X_2:int):daytime ",        "timestamp_2_daytime;", ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:daytime, 
X_2:int):daytime ",  "daytime_2time_daytime;",       ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:void, 
X_2:int):daytime ",     "nil_2time_daytime;",   ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:lng, X_2:int):daytime 
",      "second_interval_2_daytime;",   ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:str, X_2:int):daytime 
",      "str_2time_daytime;",   ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:str, X_2:int, 
X_3:int):daytime ",     "str_2time_daytimetz;", ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:timestamp, 
X_2:int):daytime ",        "timestamp_2_daytime;", ""      ]
 [ "calc",      "dbl",  "pattern calc.dbl(X_1:bit):dbl ",       
"CMDvarCONVERT;",       ""      ]
 [ "calc",      "dbl",  "pattern calc.dbl(X_1:bte):dbl ",       
"CMDvarCONVERT;",       ""      ]
 [ "calc",      "dbl",  "pattern calc.dbl(X_1:dbl):dbl ",       
"CMDvarCONVERT;",       ""      ]
@@ -8950,7 +8968,7 @@ stdout of test 'MAL-signatures` in direc
 [ "calc",      "month_interval",       "pattern calc.month_interval(X_1:int, 
X_2:int, X_3:int):int ",  "month_interval;",      ""      ]
 [ "calc",      "month_interval",       "pattern calc.month_interval(X_1:lng, 
X_2:int, X_3:int):int ",  "month_interval;",      ""      ]
 [ "calc",      "month_interval",       "pattern calc.month_interval(X_1:sht, 
X_2:int, X_3:int):int ",  "month_interval;",      ""      ]
-[ "calc",      "month_interval",       "command calc.month_interval(X_1:str, 
X_2:int, X_3:int):int ",  "month_interval_str;",  ""      ]
+[ "calc",      "month_interval",       "pattern calc.month_interval(X_1:str, 
X_2:int, X_3:int):int ",  "month_interval_str;",  ""      ]
 [ "calc",      "mul_noerror",  "pattern calc.mul_noerror(X_1:bte, X_2:bte):bte 
",      "CMDvarMUL;",   ""      ]
 [ "calc",      "mul_noerror",  "pattern calc.mul_noerror(X_1:bte, X_2:dbl):dbl 
",      "CMDvarMUL;",   ""      ]
 [ "calc",      "mul_noerror",  "pattern calc.mul_noerror(X_1:bte, X_2:flt):flt 
",      "CMDvarMUL;",   ""      ]
@@ -9033,8 +9051,8 @@ stdout of test 'MAL-signatures` in direc
 [ "calc",      "second_interval",      "pattern calc.second_interval(X_1:int, 
X_2:int, X_3:int):lng ", "second_interval;",     ""      ]
 [ "calc",      "second_interval",      "pattern calc.second_interval(X_1:lng, 
X_2:int, X_3:int):lng ", "second_interval;",     ""      ]
 [ "calc",      "second_interval",      "pattern calc.second_interval(X_1:sht, 
X_2:int, X_3:int):lng ", "second_interval;",     ""      ]
-[ "calc",      "second_interval",      "command 
calc.second_interval(X_1:daytime, X_2:int, X_3:int):lng ",     
"second_interval_daytime;",     ""      ]
-[ "calc",      "second_interval",      "command calc.second_interval(X_1:str, 
X_2:int, X_3:int):lng ", "second_interval_str;", ""      ]
+[ "calc",      "second_interval",      "pattern 
calc.second_interval(X_1:daytime, X_2:int, X_3:int):lng ",     
"second_interval_daytime;",     ""      ]
+[ "calc",      "second_interval",      "pattern calc.second_interval(X_1:str, 
X_2:int, X_3:int):lng ", "second_interval_str;", ""      ]
 [ "calc",      "second_interval",      "command calc.second_interval(X_1:int, 
X_2:sht, X_3:int, X_4:int):lng ",        "sht_dec2second_interval;",     ""     
 ]
 [ "calc",      "sht",  "pattern calc.sht(X_1:bit):sht ",       
"CMDvarCONVERT;",       ""      ]
 [ "calc",      "sht",  "pattern calc.sht(X_1:bte):sht ",       
"CMDvarCONVERT;",       ""      ]
@@ -9070,7 +9088,6 @@ stdout of test 'MAL-signatures` in direc
 [ "calc",      "sign", "pattern calc.sign(X_1:sht):bte ",      "CMDvarSIGN;",  
""      ]
 [ "calc",      "str",  "pattern calc.str(X_1:any):str ",       
"CMDvarCONVERT;",       ""      ]
 [ "calc",      "str",  "command calc.str(X_1:blob):str ",      
"SQLblob_2_str;",       ""      ]
-[ "calc",      "str",  "command calc.str(X_1:date):str ",      
"SQLdate_2_str;",       ""      ]
 [ "calc",      "str",  "pattern calc.str(X_1:int, X_2:int, X_3:int, X_4:int, 
X_5:any_1, X_6:int):str ",        "SQLstr_cast;", ""      ]
 [ "calc",      "str",  "command calc.str(X_1:uuid):str ",      
"UUIDuuid2str;",        ""      ]
 [ "calc",      "strings",      "command calc.strings(X_1:str):str ",   
"STRstrings;",  ""      ]
@@ -9117,11 +9134,11 @@ stdout of test 'MAL-signatures` in direc
 [ "calc",      "timestamp",    "command calc.timestamp(X_1:int):timestamp ",   
"MTIMEtimestamp_fromsecond;",   ""      ]
 [ "calc",      "timestamp",    "command calc.timestamp(X_1:str):timestamp ",   
"MTIMEtimestamp_fromstr;",      ""      ]
 [ "calc",      "timestamp",    "command 
calc.timestamp(X_1:timestamp):timestamp ",     "MTIMEtimestamp_timestamp;",    
""      ]
-[ "calc",      "timestamp",    "command calc.timestamp(X_1:date, 
X_2:int):timestamp ", "date_2_timestamp;",    ""      ]
-[ "calc",      "timestamp",    "command calc.timestamp(X_1:void, 
X_2:int):timestamp ", "nil_2time_timestamp;", ""      ]
-[ "calc",      "timestamp",    "command calc.timestamp(X_1:str, 
X_2:int):timestamp ",  "str_2time_timestamp;", ""      ]
-[ "calc",      "timestamp",    "command calc.timestamp(X_1:str, X_2:int, 
X_3:int):timestamp ", "str_2time_timestamptz;",       ""      ]
-[ "calc",      "timestamp",    "command calc.timestamp(X_1:timestamp, 
X_2:int):timestamp ",    "timestamp_2time_timestamp;",   ""      ]
+[ "calc",      "timestamp",    "pattern calc.timestamp(X_1:date, 
X_2:int):timestamp ", "date_2_timestamp;",    ""      ]
+[ "calc",      "timestamp",    "pattern calc.timestamp(X_1:void, 
X_2:int):timestamp ", "nil_2time_timestamp;", ""      ]
+[ "calc",      "timestamp",    "pattern calc.timestamp(X_1:str, 
X_2:int):timestamp ",  "str_2time_timestamp;", ""      ]
+[ "calc",      "timestamp",    "pattern calc.timestamp(X_1:str, X_2:int, 
X_3:int):timestamp ", "str_2time_timestamptz;",       ""      ]
+[ "calc",      "timestamp",    "pattern calc.timestamp(X_1:timestamp, 
X_2:int):timestamp ",    "timestamp_2time_timestamp;",   ""      ]
 [ "calc",      "url",  "command calc.url(X_1:str):url ",       "URLnew;",      
""      ]
 [ "calc",      "url",  "command calc.url(X_1:url):url ",       "URLnoop;",     
""      ]
 [ "calc",      "uuid", "command calc.uuid(X_1:str):uuid ",     
"UUIDstr2uuid;",        ""      ]
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
@@ -6272,19 +6272,21 @@ stdout of test 'MAL-signatures` in direc
 [ "batcalc",   "date", "command batcalc.date(X_1:bat[:date]):bat[:date] ",     
"MTIMEdate_date_bulk;", ""      ]
 [ "batcalc",   "date", "command batcalc.date(X_1:bat[:str]):bat[:date] ",      
"MTIMEdate_fromstr_bulk;",      ""      ]
 [ "batcalc",   "date", "command batcalc.date(X_1:bat[:timestamp]):bat[:date] 
",        "MTIMEtimestamp_extract_date_bulk;",    ""      ]
-[ "batcalc",   "date", "command batcalc.date(X_1:bat[:oid]):bat[:date] ",      
"batnil_2_date;",       ""      ]
-[ "batcalc",   "date", "command batcalc.date(X_1:bat[:oid], 
X_2:bat[:bit]):bat[:date] ",       "batnil_ce_2_date;",    ""      ]
 [ "batcalc",   "date", "command batcalc.date(X_1:bat[:str]):bat[:date] ",      
"batstr_2_date;",       ""      ]
 [ "batcalc",   "date", "command batcalc.date(X_1:bat[:str], 
X_2:bat[:bit]):bat[:date] ",       "batstr_ce_2_date;",    ""      ]
+[ "batcalc",   "date", "pattern batcalc.date(X_1:bat[:oid]):bat[:date] ",      
"nil_2_date;",  ""      ]
+[ "batcalc",   "date", "pattern batcalc.date(X_1:bat[:oid], 
X_2:bat[:bit]):bat[:date] ",       "nil_2_date;",  ""      ]
 [ "batcalc",   "daytime",      "command 
batcalc.daytime(X_1:bat[:daytime]):bat[:daytime] ",    
"MTIMEdaytime_daytime_bulk;",   ""      ]
 [ "batcalc",   "daytime",      "command 
batcalc.daytime(X_1:bat[:lng]):bat[:daytime] ",        
"MTIMEdaytime_fromseconds_bulk;",       ""      ]
 [ "batcalc",   "daytime",      "command 
batcalc.daytime(X_1:bat[:str]):bat[:daytime] ",        
"MTIMEdaytime_fromstr_bulk;",   ""      ]
 [ "batcalc",   "daytime",      "command 
batcalc.daytime(X_1:bat[:timestamp]):bat[:daytime] ",  
"MTIMEtimestamp_extract_daytime_bulk;", ""      ]
-[ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:daytime], 
X_2:int):bat[:daytime] ",   "batdaytime_2time_daytime;",    ""      ]
-[ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:oid], 
X_2:int):bat[:daytime] ",       "batnil_2time_daytime;",        ""      ]
-[ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:oid], 
X_2:int, X_3:bat[:bit]):bat[:daytime] ",        "batnil_ce_2time_daytime;",     
""      ]
 [ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:str], 
X_2:int):bat[:daytime] ",       "batstr_2time_daytime;",        ""      ]
-[ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:str], 
X_2:int, X_3:int):bat[:daytime] ",      "batstr_2time_daytimetz;",      ""      
]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:daytime], 
X_2:int):bat[:daytime] ",   "daytime_2time_daytime;",       ""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:oid], 
X_2:int):bat[:daytime] ",       "nil_2time_daytime;",   ""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:oid], 
X_2:int, X_3:bat[:bit]):bat[:daytime] ",        "nil_2time_daytime;",   ""      
]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:lng], 
X_2:int):bat[:daytime] ",       "second_interval_2_daytime;",   ""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:daytime], 
X_2:int):bat[:daytime] ",   "str_2time_daytimetz;", ""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:timestamp], 
X_2:int):bat[:daytime] ", "timestamp_2_daytime;", ""      ]
 [ "batcalc",   "dbl",  "pattern batcalc.dbl(X_1:bat[:bit]):bat[:dbl] ",        
"CMDconvertsignal_dbl;",        ""      ]
 [ "batcalc",   "dbl",  "pattern batcalc.dbl(X_1:bat[:bit], 
X_2:bat[:bit]):bat[:dbl] ", "CMDconvertsignal_dbl;",        ""      ]
 [ "batcalc",   "dbl",  "pattern batcalc.dbl(X_1:bat[:bit], 
X_2:bat[:oid]):bat[:dbl] ", "CMDconvertsignal_dbl;",        ""      ]
@@ -8471,6 +8473,12 @@ stdout of test 'MAL-signatures` in direc
 [ "batcalc",   "mod_noerror",  "pattern batcalc.mod_noerror(X_1:sht, 
X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:bit]):bat[:int] ", "CMDbatMOD;",   ""    
  ]
 [ "batcalc",   "mod_noerror",  "pattern batcalc.mod_noerror(X_1:sht, 
X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:bit]):bat[:lng] ", "CMDbatMOD;",   ""    
  ]
 [ "batcalc",   "mod_noerror",  "pattern batcalc.mod_noerror(X_1:sht, 
X_2:bat[:sht], X_3:bat[:oid], X_4:bat[:bit]):bat[:sht] ", "CMDbatMOD;",   ""    
  ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:bte], X_2:int, X_3:int):bat[:int] ",   
"month_interval;",      ""      ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:hge], X_2:int, X_3:int):bat[:int] ",   
"month_interval;",      ""      ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:int], X_2:int, X_3:int):bat[:int] ",   
"month_interval;",      ""      ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:lng], X_2:int, X_3:int):bat[:int] ",   
"month_interval;",      ""      ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:sht], X_2:int, X_3:int):bat[:int] ",   
"month_interval;",      ""      ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:str], X_2:int, X_3:int):bat[:int] ",   
"month_interval_str;",  ""      ]
 [ "batcalc",   "mul_noerror",  "pattern batcalc.mul_noerror(X_1:bat[:bte], 
X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:oid]):bat[:bte] ",   "CMDbatMUL;",   ""  
    ]
 [ "batcalc",   "mul_noerror",  "pattern batcalc.mul_noerror(X_1:bat[:bte], 
X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:oid], X_5:bat[:bit]):bat[:bte] ",    
"CMDbatMUL;",   ""      ]
 [ "batcalc",   "mul_noerror",  "pattern batcalc.mul_noerror(X_1:bat[:bte], 
X_2:bat[:dbl], X_3:bat[:oid], X_4:bat[:oid]):bat[:dbl] ",   "CMDbatMUL;",   ""  
    ]
@@ -8974,6 +8982,18 @@ stdout of test 'MAL-signatures` in direc
 [ "batcalc",   "or",   "pattern batcalc.or(X_1:sht, X_2:bat[:sht], 
X_3:bat[:oid]):bat[:sht] ", "CMDbatOR;",    ""      ]
 [ "batcalc",   "or",   "pattern batcalc.or(X_1:sht, X_2:bat[:sht], 
X_3:bat[:oid], X_4:bat[:bit]):bat[:sht] ",  "CMDbatOR;",    ""      ]
 [ "batcalc",   "rotate_xor_hash",      "command 
batcalc.rotate_xor_hash(X_1:bat[:lng], X_2:int, X_3:bat[:any_1]):bat[:int] ",  
"MKEYbulk_rotate_xor_hash;",    ""      ]
+[ "batcalc",   "second_interval",      "command 
batcalc.second_interval(X_1:int, X_2:bat[:bte], X_3:int, X_4:int):bat[:lng] ", 
"bte_batdec2second_interval;",  ""      ]
+[ "batcalc",   "second_interval",      "command 
batcalc.second_interval(X_1:int, X_2:bat[:hge], X_3:int, X_4:int):bat[:lng] ", 
"hge_batdec2second_interval;",  ""      ]
+[ "batcalc",   "second_interval",      "command 
batcalc.second_interval(X_1:int, X_2:bat[:int], X_3:int, X_4:int):bat[:lng] ", 
"int_batdec2second_interval;",  ""      ]
+[ "batcalc",   "second_interval",      "command 
batcalc.second_interval(X_1:int, X_2:bat[:lng], X_3:int, X_4:int):bat[:lng] ", 
"lng_batdec2second_interval;",  ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:bte], X_2:int, X_3:int):bat[:lng] ",  
"second_interval;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:hge], X_2:int, X_3:int):bat[:lng] ",  
"second_interval;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:int], X_2:int, X_3:int):bat[:lng] ",  
"second_interval;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:lng], X_2:int, X_3:int):bat[:lng] ",  
"second_interval;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:sht], X_2:int, X_3:int):bat[:lng] ",  
"second_interval;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:daytime], X_2:int, X_3:int):bat[:lng] ",      
"second_interval_daytime;",     ""      ]
+[ "batcalc",   "second_interval",      "pattern 
batcalc.second_interval(X_1:bat[:str], X_2:int, X_3:int):bat[:lng] ",  
"second_interval_str;", ""      ]
+[ "batcalc",   "second_interval",      "command 
batcalc.second_interval(X_1:int, X_2:bat[:sht], X_3:int, X_4:int):bat[:lng] ", 
"sht_batdec2second_interval;",  ""      ]
 [ "batcalc",   "sht",  "pattern batcalc.sht(X_1:bat[:bit]):bat[:sht] ",        
"CMDconvertsignal_sht;",        ""      ]
 [ "batcalc",   "sht",  "pattern batcalc.sht(X_1:bat[:bit], 
X_2:bat[:bit]):bat[:sht] ", "CMDconvertsignal_sht;",        ""      ]
 [ "batcalc",   "sht",  "pattern batcalc.sht(X_1:bat[:bit], 
X_2:bat[:oid]):bat[:sht] ", "CMDconvertsignal_sht;",        ""      ]
@@ -9430,11 +9450,12 @@ stdout of test 'MAL-signatures` in direc
 [ "batcalc",   "timestamp",    "command 
batcalc.timestamp(X_1:bat[:int]):bat[:timestamp] ",    
"MTIMEtimestamp_fromsecond_bulk;",      ""      ]
 [ "batcalc",   "timestamp",    "command 
batcalc.timestamp(X_1:bat[:str]):bat[:timestamp] ",    
"MTIMEtimestamp_fromstr_bulk;", ""      ]
 [ "batcalc",   "timestamp",    "command 
batcalc.timestamp(X_1:bat[:timestamp]):bat[:timestamp] ",      
"MTIMEtimestamp_timestamp_bulk;",       ""      ]
-[ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:oid], 
X_2:int):bat[:timestamp] ",   "batnil_2time_timestamp;",      ""      ]
-[ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:oid], 
X_2:int, X_3:bat[:BAT]):bat[:timestamp] ",    "batnil_ce_2time_timestamp;",   
""      ]
 [ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:str], 
X_2:int):bat[:timestamp] ",   "batstr_2time_timestamp;",      ""      ]
 [ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:str], 
X_2:int, X_3:int):bat[:timestamp] ",  "batstr_2time_timestamptz;",    ""      ]
-[ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:timestamp], 
X_2:int):bat[:timestamp] ",     "battimestamp_2time_timestamp;",        ""      
]
+[ "batcalc",   "timestamp",    "pattern batcalc.timestamp(X_1:bat[:date], 
X_2:int):bat[:timestamp] ",  "date_2_timestamp;",    ""      ]
+[ "batcalc",   "timestamp",    "pattern batcalc.timestamp(X_1:bat[:oid], 
X_2:int):bat[:timestamp] ",   "nil_2time_timestamp;", ""      ]
+[ "batcalc",   "timestamp",    "pattern batcalc.timestamp(X_1:bat[:oid], 
X_2:int, X_3:bat[:BAT]):bat[:timestamp] ",    "nil_2time_timestamp;", ""      ]
+[ "batcalc",   "timestamp",    "pattern batcalc.timestamp(X_1:bat[:timestamp], 
X_2:int):bat[:timestamp] ",     "timestamp_2time_timestamp;",   ""      ]
 [ "batcalc",   "wkb",  "command batcalc.wkb(X_1:bat[:wkb], X_2:int, 
X_3:int):bat[:wkb] ",      "geom_2_geom_bat;",     ""      ]
 [ "batcalc",   "xml",  "command batcalc.xml(X_1:bat[:str]):bat[:xml] ",        
"BATXMLstr2xml;",       ""      ]
 [ "batcalc",   "xor",  "pattern batcalc.xor(X_1:bat[:bit], 
X_2:bat[:bit]):bat[:bit] ", "CMDbatXOR;",   ""      ]
@@ -11706,18 +11727,18 @@ stdout of test 'MAL-signatures` in direc
 [ "calc",      "date", "command calc.date(X_1:date):date ",    
"MTIMEdate_date;",      ""      ]
 [ "calc",      "date", "command calc.date(X_1:str):date ",     
"MTIMEdate_fromstr;",   ""      ]
 [ "calc",      "date", "command calc.date(X_1:timestamp):date ",       
"MTIMEtimestamp_extract_date;", ""      ]
-[ "calc",      "date", "command calc.date(X_1:void):date ",    "nil_2_date;",  
""      ]
-[ "calc",      "date", "command calc.date(X_1:str):date ",     "str_2_date;",  
""      ]
+[ "calc",      "date", "pattern calc.date(X_1:void):date ",    "nil_2_date;",  
""      ]
+[ "calc",      "date", "pattern calc.date(X_1:str):date ",     "str_2_date;",  
""      ]
 [ "calc",      "daytime",      "command calc.daytime(X_1:daytime):daytime ",   
"MTIMEdaytime_daytime;",        ""      ]
 [ "calc",      "daytime",      "command calc.daytime(X_1:lng):daytime ",       
"MTIMEdaytime_fromseconds;",    ""      ]
 [ "calc",      "daytime",      "command calc.daytime(X_1:str):daytime ",       
"MTIMEdaytime_fromstr;",        ""      ]
 [ "calc",      "daytime",      "command calc.daytime(X_1:timestamp):daytime ", 
"MTIMEtimestamp_extract_daytime;",      ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:daytime, 
X_2:int):daytime ",  "daytime_2time_daytime;",       ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:void, 
X_2:int):daytime ",     "nil_2time_daytime;",   ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:lng, X_2:int):daytime 
",      "second_interval_2_daytime;",   ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:str, X_2:int):daytime 
",      "str_2time_daytime;",   ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:str, X_2:int, 
X_3:int):daytime ",     "str_2time_daytimetz;", ""      ]
-[ "calc",      "daytime",      "command calc.daytime(X_1:timestamp, 
X_2:int):daytime ",        "timestamp_2_daytime;", ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:daytime, 
X_2:int):daytime ",  "daytime_2time_daytime;",       ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:void, 
X_2:int):daytime ",     "nil_2time_daytime;",   ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:lng, X_2:int):daytime 
",      "second_interval_2_daytime;",   ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:str, X_2:int):daytime 
",      "str_2time_daytime;",   ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:str, X_2:int, 
X_3:int):daytime ",     "str_2time_daytimetz;", ""      ]
+[ "calc",      "daytime",      "pattern calc.daytime(X_1:timestamp, 
X_2:int):daytime ",        "timestamp_2_daytime;", ""      ]
 [ "calc",      "dbl",  "pattern calc.dbl(X_1:bit):dbl ",       
"CMDvarCONVERT;",       ""      ]
 [ "calc",      "dbl",  "pattern calc.dbl(X_1:bte):dbl ",       
"CMDvarCONVERT;",       ""      ]
 [ "calc",      "dbl",  "pattern calc.dbl(X_1:dbl):dbl ",       
"CMDvarCONVERT;",       ""      ]
@@ -12240,7 +12261,7 @@ stdout of test 'MAL-signatures` in direc
 [ "calc",      "month_interval",       "pattern calc.month_interval(X_1:int, 
X_2:int, X_3:int):int ",  "month_interval;",      ""      ]
 [ "calc",      "month_interval",       "pattern calc.month_interval(X_1:lng, 
X_2:int, X_3:int):int ",  "month_interval;",      ""      ]
 [ "calc",      "month_interval",       "pattern calc.month_interval(X_1:sht, 
X_2:int, X_3:int):int ",  "month_interval;",      ""      ]
-[ "calc",      "month_interval",       "command calc.month_interval(X_1:str, 
X_2:int, X_3:int):int ",  "month_interval_str;",  ""      ]
+[ "calc",      "month_interval",       "pattern calc.month_interval(X_1:str, 
X_2:int, X_3:int):int ",  "month_interval_str;",  ""      ]
 [ "calc",      "mul_noerror",  "pattern calc.mul_noerror(X_1:bte, X_2:bte):bte 
",      "CMDvarMUL;",   ""      ]
 [ "calc",      "mul_noerror",  "pattern calc.mul_noerror(X_1:bte, X_2:dbl):dbl 
",      "CMDvarMUL;",   ""      ]
 [ "calc",      "mul_noerror",  "pattern calc.mul_noerror(X_1:bte, X_2:flt):flt 
",      "CMDvarMUL;",   ""      ]
@@ -12350,8 +12371,8 @@ stdout of test 'MAL-signatures` in direc
 [ "calc",      "second_interval",      "pattern calc.second_interval(X_1:int, 
X_2:int, X_3:int):lng ", "second_interval;",     ""      ]
 [ "calc",      "second_interval",      "pattern calc.second_interval(X_1:lng, 
X_2:int, X_3:int):lng ", "second_interval;",     ""      ]
 [ "calc",      "second_interval",      "pattern calc.second_interval(X_1:sht, 
X_2:int, X_3:int):lng ", "second_interval;",     ""      ]
-[ "calc",      "second_interval",      "command 
calc.second_interval(X_1:daytime, X_2:int, X_3:int):lng ",     
"second_interval_daytime;",     ""      ]
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to