Changeset: c759885b7a59 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c759885b7a59
Branch: default
Log Message:

merged


diffs (truncated from 1167 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
@@ -3790,16 +3790,22 @@ stdout of test 'MAL-signatures` in direc
 [ "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[:str]):bat[:date] ",      
"batstr_2_date;",       ""      ]
+[ "batcalc",   "date", "command batcalc.date(X_1:bat[:str], 
X_2:bat[:oid]):bat[:date] ",       "batstr_2_date_cand;",  ""      ]
 [ "batcalc",   "date", "pattern batcalc.date(X_1:bat[:oid]):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[:str], 
X_2:int):bat[:daytime] ",       "batstr_2time_daytime;",        ""      ]
+[ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:str], 
X_2:bat[:oid], X_3:int):bat[:daytime] ",        "batstr_2time_daytime_cand;",   
""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:daytime], 
X_2:bat[:oid], X_3:int):bat[:daytime] ",    "daytime_2time_daytime;",       ""  
    ]
 [ "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[:lng], 
X_2:bat[:oid], X_3:int):bat[:daytime] ",        "second_interval_2_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[:daytime], 
X_2:bat[:oid], X_3:int, X_4:int):bat[:daytime] ",   "str_2time_daytimetz;", ""  
    ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:daytime], 
X_2:int, X_3:int):bat[:daytime] ",  "str_2time_daytimetz;", ""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:timestamp], 
X_2:bat[:oid], X_3:int):bat[:daytime] ",  "timestamp_2_daytime;", ""      ]
 [ "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[:oid]):bat[:dbl] ", "CMDconvertsignal_dbl;",        ""      ]
@@ -5255,10 +5261,14 @@ stdout of test 'MAL-signatures` in direc
 [ "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[:str], 
X_2:int):bat[:timestamp] ",   "batstr_2time_timestamp;",      ""      ]
+[ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:str], 
X_2:bat[:oid], X_3:int):bat[:timestamp] ",    "batstr_2time_timestamp_cand;", 
""      ]
 [ "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[:str], 
X_2:bat[:oid], X_3:int, X_4:int):bat[:timestamp] ",   
"batstr_2time_timestamptz_cand;",       ""      ]
+[ "batcalc",   "timestamp",    "pattern batcalc.timestamp(X_1:bat[:date], 
X_2:bat[:oid], X_3:int):bat[:timestamp] ",   "date_2_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:bat[:oid], X_3:int):bat[:timestamp] ",      "timestamp_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;",       ""      ]
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
@@ -5338,16 +5338,22 @@ stdout of test 'MAL-signatures` in direc
 [ "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[:str]):bat[:date] ",      
"batstr_2_date;",       ""      ]
+[ "batcalc",   "date", "command batcalc.date(X_1:bat[:str], 
X_2:bat[:oid]):bat[:date] ",       "batstr_2_date_cand;",  ""      ]
 [ "batcalc",   "date", "pattern batcalc.date(X_1:bat[:oid]):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[:str], 
X_2:int):bat[:daytime] ",       "batstr_2time_daytime;",        ""      ]
+[ "batcalc",   "daytime",      "command batcalc.daytime(X_1:bat[:str], 
X_2:bat[:oid], X_3:int):bat[:daytime] ",        "batstr_2time_daytime_cand;",   
""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:daytime], 
X_2:bat[:oid], X_3:int):bat[:daytime] ",    "daytime_2time_daytime;",       ""  
    ]
 [ "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[:lng], 
X_2:bat[:oid], X_3:int):bat[:daytime] ",        "second_interval_2_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[:daytime], 
X_2:bat[:oid], X_3:int, X_4:int):bat[:daytime] ",   "str_2time_daytimetz;", ""  
    ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:daytime], 
X_2:int, X_3:int):bat[:daytime] ",  "str_2time_daytimetz;", ""      ]
+[ "batcalc",   "daytime",      "pattern batcalc.daytime(X_1:bat[:timestamp], 
X_2:bat[:oid], X_3:int):bat[:daytime] ",  "timestamp_2_daytime;", ""      ]
 [ "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[:oid]):bat[:dbl] ", "CMDconvertsignal_dbl;",        ""      ]
@@ -6818,12 +6824,17 @@ 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]):bat[:int] ",        "CMDbatMOD;",   ""      ]
 [ "batcalc",   "mod_noerror",  "pattern batcalc.mod_noerror(X_1:sht, 
X_2:bat[:sht], X_3:bat[:oid]):bat[:lng] ",        "CMDbatMOD;",   ""      ]
 [ "batcalc",   "mod_noerror",  "pattern batcalc.mod_noerror(X_1:sht, 
X_2:bat[:sht], X_3:bat[:oid]):bat[:sht] ",        "CMDbatMOD;",   ""      ]
+[ "batcalc",   "month_interval",       "pattern 
batcalc.month_interval(X_1:bat[:bte], X_2:bat[:oid], X_3:int, 
X_4:int):bat[:int] ",    "month_interval;",      ""      ]
 [ "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:bat[:oid], X_3:int, 
X_4: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:bat[:oid], X_3:int, 
X_4: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:bat[:oid], X_3:int, 
X_4: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:bat[:oid], X_3:int, 
X_4: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:bat[:oid], X_3:int, 
X_4:int):bat[:int] ",    "month_interval_str;",  ""      ]
 [ "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[:dbl], X_3:bat[:oid], X_4:bat[:oid]):bat[:dbl] ",   "CMDbatMUL;",   ""  
    ]
@@ -7232,13 +7243,19 @@ stdout of test 'MAL-signatures` in direc
 [ "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:bat[:oid], X_3:int, 
X_4:int):bat[:lng] ",   "second_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:bat[:oid], X_3:int, 
X_4: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:bat[:oid], X_3:int, 
X_4: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:bat[:oid], X_3:int, 
X_4: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:bat[:oid], X_3:int, 
X_4: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:bat[:oid], X_3:int, 
X_4:int):bat[:lng] ",       "second_interval_daytime;",     ""      ]
 [ "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:bat[:oid], X_3:int, 
X_4:int):bat[:lng] ",   "second_interval_str;", ""      ]
 [ "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;",        ""      ]
@@ -7493,10 +7510,14 @@ stdout of test 'MAL-signatures` in direc
 [ "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[:str], 
X_2:int):bat[:timestamp] ",   "batstr_2time_timestamp;",      ""      ]
+[ "batcalc",   "timestamp",    "command batcalc.timestamp(X_1:bat[:str], 
X_2:bat[:oid], X_3:int):bat[:timestamp] ",    "batstr_2time_timestamp_cand;", 
""      ]
 [ "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[:str], 
X_2:bat[:oid], X_3:int, X_4:int):bat[:timestamp] ",   
"batstr_2time_timestamptz_cand;",       ""      ]
+[ "batcalc",   "timestamp",    "pattern batcalc.timestamp(X_1:bat[:date], 
X_2:bat[:oid], X_3:int):bat[:timestamp] ",   "date_2_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:bat[:oid], X_3:int):bat[:timestamp] ",      "timestamp_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;",       ""      ]
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -5667,16 +5667,22 @@ static mel_func sql_init_funcs[] = {
  pattern("calc", "timestamp", str_2time_timestamptz, false, "cast to timestamp 
and check for overflow", args(1,4, 
arg("",timestamp),arg("v",str),arg("digits",int),arg("has_tz",int))),
  pattern("calc", "timestamp", timestamp_2time_timestamp, false, "cast 
timestamp to timestamp and check for overflow", args(1,3, 
arg("",timestamp),arg("v",timestamp),arg("digits",int))),
  command("batcalc", "timestamp", batstr_2time_timestamp, false, "cast to 
timestamp and check for overflow", args(1,3, 
batarg("",timestamp),batarg("v",str),arg("digits",int))),
+ command("batcalc", "timestamp", batstr_2time_timestamp_cand, false, "cast to 
timestamp and check for overflow", args(1,4, 
batarg("",timestamp),batarg("v",str),batarg("s",oid),arg("digits",int))),
  command("batcalc", "timestamp", batstr_2time_timestamptz, false, "cast to 
timestamp and check for overflow", args(1,4, 
batarg("",timestamp),batarg("v",str),arg("digits",int),arg("has_tz",int))),
+ command("batcalc", "timestamp", batstr_2time_timestamptz_cand, false, "cast 
to timestamp and check for overflow", args(1,5, 
batarg("",timestamp),batarg("v",str),batarg("s",oid),arg("digits",int),arg("has_tz",int))),
  pattern("batcalc", "timestamp", timestamp_2time_timestamp, false, "cast 
timestamp to timestamp and check for overflow", args(1,3, 
batarg("",timestamp),batarg("v",timestamp),arg("digits",int))),
+ pattern("batcalc", "timestamp", timestamp_2time_timestamp, false, "cast 
timestamp to timestamp and check for overflow", args(1,4, 
batarg("",timestamp),batarg("v",timestamp),batarg("s",oid),arg("digits",int))),
  pattern("calc", "daytime", nil_2time_daytime, false, "cast to daytime and 
check for overflow", args(1,3, 
arg("",daytime),arg("v",void),arg("digits",int))),
  pattern("batcalc", "daytime", nil_2time_daytime, false, "cast to daytime and 
check for overflow", args(1,3, 
batarg("",daytime),batarg("v",oid),arg("digits",int))),
  pattern("calc", "daytime", str_2time_daytime, false, "cast to daytime and 
check for overflow", args(1,3, arg("",daytime),arg("v",str),arg("digits",int))),
  pattern("calc", "daytime", str_2time_daytimetz, false, "cast to daytime and 
check for overflow", args(1,4, 
arg("",daytime),arg("v",str),arg("digits",int),arg("has_tz",int))),
  pattern("calc", "daytime", daytime_2time_daytime, false, "cast daytime to 
daytime and check for overflow", args(1,3, 
arg("",daytime),arg("v",daytime),arg("digits",int))),
  command("batcalc", "daytime", batstr_2time_daytime, false, "cast to daytime 
and check for overflow", args(1,3, 
batarg("",daytime),batarg("v",str),arg("digits",int))),
- pattern("batcalc", "daytime", str_2time_daytimetz, false, "cast daytime to 
daytime and check for overflow", args(1,3, 
batarg("",daytime),batarg("v",daytime),arg("digits",int))),
+ command("batcalc", "daytime", batstr_2time_daytime_cand, false, "cast to 
daytime and check for overflow", args(1,4, 
batarg("",daytime),batarg("v",str),batarg("s",oid),arg("digits",int))),
+ pattern("batcalc", "daytime", str_2time_daytimetz, false, "cast daytime to 
daytime and check for overflow", args(1,4, 
batarg("",daytime),batarg("v",daytime),arg("digits",int),arg("has_tz",int))),
+ pattern("batcalc", "daytime", str_2time_daytimetz, false, "cast daytime to 
daytime and check for overflow", args(1,5, 
batarg("",daytime),batarg("v",daytime),batarg("s",oid),arg("digits",int),arg("has_tz",int))),
  pattern("batcalc", "daytime", daytime_2time_daytime, false, "cast daytime to 
daytime and check for overflow", args(1,3, 
batarg("",daytime),batarg("v",daytime),arg("digits",int))),
+ pattern("batcalc", "daytime", daytime_2time_daytime, false, "cast daytime to 
daytime and check for overflow", args(1,4, 
batarg("",daytime),batarg("v",daytime),batarg("s",oid),arg("digits",int))),
  command("sql", "date_trunc", bat_date_trunc, false, "Truncate a timestamp to 
(millennium, century,decade,year,quarter,month,week,day,hour,minute,second, 
milliseconds,microseconds)", args(1,3, 
batarg("",timestamp),arg("scale",str),batarg("v",timestamp))),
  command("sql", "date_trunc", date_trunc, false, "Truncate a timestamp to 
(millennium, century,decade,year,quarter,month,week,day,hour,minute,second, 
milliseconds,microseconds)", args(1,3, 
arg("",timestamp),arg("scale",str),arg("v",timestamp))),
  pattern("sql", "current_time", SQLcurrent_daytime, false, "Get the clients 
current daytime", args(1,1, arg("",daytime))),
@@ -5685,6 +5691,7 @@ static mel_func sql_init_funcs[] = {
  pattern("batcalc", "date", nil_2_date, false, "cast to date", args(1,2, 
batarg("",date),batarg("v",oid))),
  pattern("calc", "date", str_2_date, false, "cast to date", args(1,2, 
arg("",date),arg("v",str))),
  command("batcalc", "date", batstr_2_date, false, "cast to date", args(1,2, 
batarg("",date),batarg("v",str))),
+ command("batcalc", "date", batstr_2_date_cand, false, "cast to date", 
args(1,3, batarg("",date),batarg("v",str),batarg("s",oid))),
  command("calc", "blob", str_2_blob, false, "cast to blob", args(1,2, 
arg("",blob),arg("v",str))),
  command("batcalc", "blob", batstr_2_blob, false, "cast to blob", args(1,2, 
batarg("",blob),batarg("v",str))),
  command("batcalc", "blob", batstr_2_blob_cand, false, "cast to blob", 
args(1,3, batarg("",blob),batarg("v",str),batarg("s",oid))),
@@ -5696,24 +5703,34 @@ static mel_func sql_init_funcs[] = {
  command("calc", "substring", STRsubstring, false, "", args(1,4, 
arg("",str),arg("s",str),arg("offset",int),arg("count",int))),
  pattern("calc", "month_interval", month_interval_str, false, "cast str to a 
month_interval and check for overflow", args(1,4, 
arg("",int),arg("v",str),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "month_interval", month_interval_str, false, "cast str to 
a month_interval and check for overflow", args(1,4, 
batarg("",int),batarg("v",str),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "month_interval", month_interval_str, false, "cast str to 
a month_interval and check for overflow", args(1,5, 
batarg("",int),batarg("v",str),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "second_interval", second_interval_str, false, "cast str to a 
second_interval and check for overflow", args(1,4, 
arg("",lng),arg("v",str),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "second_interval", second_interval_str, false, "cast str 
to a second_interval and check for overflow", args(1,4, 
batarg("",lng),batarg("v",str),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "second_interval", second_interval_str, false, "cast str 
to a second_interval and check for overflow", args(1,5, 
batarg("",lng),batarg("v",str),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "month_interval", month_interval, false, "cast bte to a 
month_interval and check for overflow", args(1,4, 
arg("",int),arg("v",bte),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "month_interval", month_interval, false, "cast bte to a 
month_interval and check for overflow", args(1,4, 
batarg("",int),batarg("v",bte),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "month_interval", month_interval, false, "cast bte to a 
month_interval and check for overflow", args(1,5, 
batarg("",int),batarg("v",bte),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "second_interval", second_interval, false, "cast bte to a 
second_interval and check for overflow", args(1,4, 
arg("",lng),arg("v",bte),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "second_interval", second_interval, false, "cast bte to a 
second_interval and check for overflow", args(1,4, 
batarg("",lng),batarg("v",bte),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "second_interval", second_interval, false, "cast bte to a 
second_interval and check for overflow", args(1,5, 
batarg("",lng),batarg("v",bte),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "month_interval", month_interval, false, "cast sht to a 
month_interval and check for overflow", args(1,4, 
arg("",int),arg("v",sht),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "month_interval", month_interval, false, "cast sht to a 
month_interval and check for overflow", args(1,4, 
batarg("",int),batarg("v",sht),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "month_interval", month_interval, false, "cast sht to a 
month_interval and check for overflow", args(1,5, 
batarg("",int),batarg("v",sht),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "second_interval", second_interval, false, "cast sht to a 
second_interval and check for overflow", args(1,4, 
arg("",lng),arg("v",sht),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "second_interval", second_interval, false, "cast sht to a 
second_interval and check for overflow", args(1,4, 
batarg("",lng),batarg("v",sht),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "second_interval", second_interval, false, "cast sht to a 
second_interval and check for overflow", args(1,5, 
batarg("",lng),batarg("v",sht),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "month_interval", month_interval, false, "cast int to a 
month_interval and check for overflow", args(1,4, 
arg("",int),arg("v",int),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "month_interval", month_interval, false, "cast int to a 
month_interval and check for overflow", args(1,4, 
batarg("",int),batarg("v",int),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "month_interval", month_interval, false, "cast int to a 
month_interval and check for overflow", args(1,5, 
batarg("",int),batarg("v",int),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "second_interval", second_interval, false, "cast int to a 
second_interval and check for overflow", args(1,4, 
arg("",lng),arg("v",int),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "second_interval", second_interval, false, "cast int to a 
second_interval and check for overflow", args(1,4, 
batarg("",lng),batarg("v",int),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "second_interval", second_interval, false, "cast int to a 
second_interval and check for overflow", args(1,5, 
batarg("",lng),batarg("v",int),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "month_interval", month_interval, false, "cast lng to a 
month_interval and check for overflow", args(1,4, 
arg("",int),arg("v",lng),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "month_interval", month_interval, false, "cast lng to a 
month_interval and check for overflow", args(1,4, 
batarg("",int),batarg("v",lng),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "month_interval", month_interval, false, "cast lng to a 
month_interval and check for overflow", args(1,5, 
batarg("",int),batarg("v",lng),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "second_interval", second_interval, false, "cast lng to a 
second_interval and check for overflow", args(1,4, 
arg("",lng),arg("v",lng),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "second_interval", second_interval, false, "cast lng to a 
second_interval and check for overflow", args(1,4, 
batarg("",lng),batarg("v",lng),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "second_interval", second_interval, false, "cast lng to a 
second_interval and check for overflow", args(1,5, 
batarg("",lng),batarg("v",lng),batarg("s",oid),arg("ek",int),arg("sk",int))), 
  pattern("calc", "rowid", sql_rowid, false, "return the next rowid", args(1,4, 
arg("",oid),argany("v",1),arg("schema",str),arg("table",str))),
  pattern("sql", "shrink", SQLshrink, true, "Consolidate the deletion table 
over all columns using shrinking", args(0,2, arg("sch",str),arg("tbl",str))),
  pattern("sql", "reuse", SQLreuse, true, "Consolidate the deletion table over 
all columns reusing deleted slots", args(0,2, arg("sch",str),arg("tbl",str))),
@@ -5723,12 +5740,16 @@ static mel_func sql_init_funcs[] = {
  command("sql", "epilogue", SQLepilogue, false, "", noargs),
  pattern("calc", "second_interval", second_interval_daytime, false, "cast 
daytime to a second_interval and check for overflow", args(1,4, 
arg("",lng),arg("v",daytime),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "second_interval", second_interval_daytime, false, "cast 
daytime to a second_interval and check for overflow", args(1,4, 
batarg("",lng),batarg("v",daytime),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "second_interval", second_interval_daytime, false, "cast 
daytime to a second_interval and check for overflow", args(1,5, 
batarg("",lng),batarg("v",daytime),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "daytime", second_interval_2_daytime, false, "cast 
second_interval to a daytime and check for overflow", args(1,3, 
arg("",daytime),arg("v",lng),arg("d",int))),
  pattern("batcalc", "daytime", second_interval_2_daytime, false, "cast 
second_interval to a daytime and check for overflow", args(1,3, 
batarg("",daytime),batarg("v",lng),arg("d",int))),
+ pattern("batcalc", "daytime", second_interval_2_daytime, false, "cast 
second_interval to a daytime and check for overflow", args(1,4, 
batarg("",daytime),batarg("v",lng),batarg("s",oid),arg("d",int))),
  pattern("calc", "daytime", timestamp_2_daytime, false, "cast timestamp to a 
daytime and check for overflow", args(1,3, 
arg("",daytime),arg("v",timestamp),arg("d",int))),
  pattern("batcalc", "daytime", timestamp_2_daytime, false, "cast timestamp to 
a daytime and check for overflow", args(1,3, 
batarg("",daytime),batarg("v",timestamp),arg("d",int))),
+ pattern("batcalc", "daytime", timestamp_2_daytime, false, "cast timestamp to 
a daytime and check for overflow", args(1,4, 
batarg("",daytime),batarg("v",timestamp),batarg("s",oid),arg("d",int))),
  pattern("calc", "timestamp", date_2_timestamp, false, "cast date to a 
timestamp and check for overflow", args(1,3, 
arg("",timestamp),arg("v",date),arg("d",int))),
  pattern("batcalc", "timestamp", date_2_timestamp, false, "cast date to a 
timestamp and check for overflow", args(1,3, 
batarg("",timestamp),batarg("v",date),arg("d",int))),
+ pattern("batcalc", "timestamp", date_2_timestamp, false, "cast date to a 
timestamp and check for overflow", args(1,4, 
batarg("",timestamp),batarg("v",date),batarg("s",oid),arg("d",int))),
  command("calc", "index", STRindex_bte, false, "Return the offsets as an index 
bat", args(1,3, arg("",bte),arg("v",str),arg("u",bit))),
  command("batcalc", "index", BATSTRindex_bte, false, "Return the offsets as an 
index bat", args(1,3, batarg("",bte),batarg("v",str),arg("u",bit))),
  command("calc", "index", STRindex_sht, false, "Return the offsets as an index 
bat", args(1,3, arg("",sht),arg("v",str),arg("u",bit))),
@@ -6449,17 +6470,17 @@ static mel_func sql_init_funcs[] = {
  command("batsql", "round", hge_bat_round_wrap, false, "round off the decimal 
v(d,s) to r digits behind the dot (if r < 0, before the dot)", args(1,5, 
batarg("",hge),batarg("v",hge),arg("d",int),arg("s",int),arg("r",bte))),
  command("calc", "second_interval", hge_dec2second_interval, false, "cast hge 
decimal to a second_interval", args(1,5, 
arg("",lng),arg("sc",int),arg("v",hge),arg("ek",int),arg("sk",int))),
  command("batcalc", "second_interval", hge_batdec2second_interval, false, 
"cast hge decimal to a second_interval", args(1,5, 
batarg("",lng),arg("sc",int),batarg("v",hge),arg("ek",int),arg("sk",int))),
- command("batcalc", "second_interval", hge_batdec2second_interval, false, 
"cast hge decimal to a second_cand_interval", args(1,6, 
batarg("",lng),arg("sc",int),batarg("v",hge),batarg("s",oid),arg("ek",int),arg("sk",int))),
+ command("batcalc", "second_interval", hge_batdec2second_interval, false, 
"cast hge decimal to a second_interval", args(1,6, 
batarg("",lng),arg("sc",int),batarg("v",hge),batarg("s",oid),arg("ek",int),arg("sk",int))),
  command("calc", "hge", nil_2dec_hge, false, "cast to dec(hge) and check for 
overflow", args(1,4, 
arg("",hge),arg("v",void),arg("digits",int),arg("scale",int))),
  command("batcalc", "hge", batnil_2dec_hge, false, "cast to dec(hge) and check 
for overflow", args(1,4, 
batarg("",hge),batarg("v",void),arg("digits",int),arg("scale",int))),
  command("calc", "hge", str_2dec_hge, false, "cast to dec(hge) and check for 
overflow", args(1,4, 
arg("",hge),arg("v",str),arg("digits",int),arg("scale",int))),
  command("batcalc", "hge", batstr_2dec_hge, false, "cast to dec(hge) and check 
for overflow", args(1,4, 
batarg("",hge),batarg("v",str),arg("digits",int),arg("scale",int))),
  pattern("calc", "month_interval", month_interval, false, "cast hge to a 
month_interval and check for overflow", args(1,4, 
arg("",int),arg("v",hge),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "month_interval", month_interval, false, "cast hge to a 
month_interval and check for overflow", args(1,4, 
batarg("",int),batarg("v",hge),arg("ek",int),arg("sk",int))),
- pattern("batcalc", "month_interval", month_interval, false, "cast hge to a 
month_cand_interval and check for overflow", args(1,5, 
batarg("",int),batarg("v",hge),batarg("s",oid),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "month_interval", month_interval, false, "cast hge to a 
month_interval and check for overflow", args(1,5, 
batarg("",int),batarg("v",hge),batarg("s",oid),arg("ek",int),arg("sk",int))),
  pattern("calc", "second_interval", second_interval, false, "cast hge to a 
second_interval and check for overflow", args(1,4, 
arg("",lng),arg("v",hge),arg("ek",int),arg("sk",int))),
  pattern("batcalc", "second_interval", second_interval, false, "cast hge to a 
second_interval and check for overflow", args(1,4, 
batarg("",lng),batarg("v",hge),arg("ek",int),arg("sk",int))),
- pattern("batcalc", "second_interval", second_interval, false, "cast hge to a 
second_cand_interval and check for overflow", args(1,5, 
batarg("",lng),batarg("v",hge),batarg("s",oid),arg("ek",int),arg("sk",int))),
+ pattern("batcalc", "second_interval", second_interval, false, "cast hge to a 
second_interval and check for overflow", args(1,5, 
batarg("",lng),batarg("v",hge),batarg("s",oid),arg("ek",int),arg("sk",int))),
  /* sql_decimal_hge */
  command("calc", "hge", flt_num2dec_hge, false, "cast number to decimal(hge) 
and check for overflow", args(1,4, 
arg("",hge),arg("v",flt),arg("digits",int),arg("scale",int))),
  command("batcalc", "hge", batflt_num2dec_hge, false, "cast number to 
decimal(hge) and check for overflow", args(1,4, 
batarg("",hge),batarg("v",flt),arg("digits",int),arg("scale",int))),
diff --git a/sql/backends/monet5/sql.h b/sql/backends/monet5/sql.h
--- a/sql/backends/monet5/sql.h
+++ b/sql/backends/monet5/sql.h
@@ -206,13 +206,16 @@ sql5_export str nil_2time_timestamp(Clie
 sql5_export str str_2time_timestamp(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str str_2time_timestamptz(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
 sql5_export str batstr_2time_timestamp(bat *res, const bat *v, const int *len);
+sql5_export str batstr_2time_timestamp_cand(bat *res, const bat *v, const bat 
*s, const int *len);
 sql5_export str batstr_2time_timestamptz(bat *res, const bat *v, const int 
*len, int *tz);
+sql5_export str batstr_2time_timestamptz_cand(bat *res, const bat *v, const 
bat *s, const int *len, int *tz);
 sql5_export str timestamp_2time_timestamp(Client cntxt, MalBlkPtr mb, 
MalStkPtr stk, InstrPtr pci);
 
 sql5_export str nil_2time_daytime(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str str_2time_daytime(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str str_2time_daytimetz(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str batstr_2time_daytime(bat *res, const bat *v, const int *len);
+sql5_export str batstr_2time_daytime_cand(bat *res, const bat *v, const bat 
*s, const int *len);
 sql5_export str daytime_2time_daytime(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
 
 sql5_export str bat_date_trunc(bat *res, const str *scale, const bat *v);
@@ -221,6 +224,7 @@ sql5_export str date_trunc(timestamp *re
 sql5_export str nil_2_date(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 sql5_export str str_2_date(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 sql5_export str batstr_2_date(bat *res, const bat *val);
+sql5_export str batstr_2_date_cand(bat *res, const bat *val, const bat *s);
 
 sql5_export str str_2_blob(blob * *res, const str *val);
 sql5_export str batstr_2_blob(bat *res, const bat *val);
diff --git a/sql/backends/monet5/sql_time.c b/sql/backends/monet5/sql_time.c
--- a/sql/backends/monet5/sql_time.c
+++ b/sql/backends/monet5/sql_time.c
@@ -27,12 +27,13 @@ str
 daytime_2time_daytime(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
        str msg = MAL_SUCCEED;
-       BAT *b = NULL, *res = NULL;
+       BAT *b = NULL, *s = NULL, *res = NULL;
        BUN q = 0;
        daytime *restrict ret = NULL;
-       int tpe = getArgType(mb, pci, 1), *digits = getArgReference_int(stk, 
pci, 2), d = (*digits) ? *digits - 1 : 0;
+       int tpe = getArgType(mb, pci, 1), *digits = getArgReference_int(stk, 
pci, pci->argc == 4 ? 3 : 2), d = (*digits) ? *digits - 1 : 0;
        bool is_a_bat = false;
-       bat *r = NULL;
+       bat *r = NULL, *sid = pci->argc == 4 ? getArgReference_bat(stk, pci, 
2): NULL;
+       struct canditer ci = {0};
 #ifdef HAVE_HGE
        hge shift = 0, divider = 1, multiplier = 1;
 #else
@@ -44,10 +45,14 @@ daytime_2time_daytime(Client cntxt, MalB
        if (is_a_bat) {
                tpe = getBatType(tpe);
                if (!(b = BATdescriptor(*getArgReference_bat(stk, pci, 1)))) {
-                       msg = createException(SQL, 
"batcalc.daytime_2time_daytime", SQLSTATE(HY005) "Cannot access column 
descriptor");
+                       msg = createException(SQL, 
"batcalc.daytime_2time_daytime", SQLSTATE(HY005) RUNTIME_OBJECT_MISSING);
                        goto bailout;
                }
-               q = BATcount(b);
+               if (sid && !is_bat_nil(*sid) && (s = BATdescriptor(*sid)) == 
NULL) {
+                       msg = createException(SQL, 
"batcalc.timestamp_2_daytime", SQLSTATE(HY005) RUNTIME_OBJECT_MISSING);
+                       goto bailout;
+               }
+               q = canditer_init(&ci, b, s);
                if (!(res = COLnew(b->hseqbase, TYPE_daytime, q, TRANSIENT))) {
                        msg = createException(SQL, 
"batcalc.daytime_2time_daytime", SQLSTATE(HY013) MAL_MALLOC_FAIL);
                        goto bailout;
@@ -68,10 +73,12 @@ daytime_2time_daytime(Client cntxt, MalB
        }
 
        if (is_a_bat) {
+               oid off = b->hseqbase;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to