Changeset: b6767c0f0d26 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b6767c0f0d26
Added Files:
        sql/backends/monet5/sql_time.c
Removed Files:
        sql/backends/monet5/sql_bat2time.c
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        sql/backends/monet5/CMakeLists.txt
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.h
Branch: default
Log Message:

Cleanup, move sql datetime code into a separate implementation file. Inlined 
loops and removed unused backend calls


diffs (truncated from 2452 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
@@ -4581,13 +4581,13 @@ stdout of test 'MAL-signatures` in direc
 [ "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",      "command batcalc.daytime(X_1:bat[:timestamp], 
X_2:int):bat[:daytime] ", "battimestamp_2_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[: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;",        ""      ]
@@ -6801,12 +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[:date], 
X_2:int):bat[:timestamp] ",  "batdate_2_timestamp;", ""      ]
-[ "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;",   ""      ]
@@ -8617,12 +8617,12 @@ stdout of test 'MAL-signatures` in direc
 [ "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",      "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",      "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: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;",       ""      ]
@@ -9135,11 +9135,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
@@ -6280,13 +6280,13 @@ stdout of test 'MAL-signatures` in direc
 [ "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",      "command batcalc.daytime(X_1:bat[:timestamp], 
X_2:int):bat[:daytime] ", "battimestamp_2_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[: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;",        ""      ]
@@ -9450,12 +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[:date], 
X_2:int):bat[:timestamp] ",  "batdate_2_timestamp;", ""      ]
-[ "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;",   ""      ]
@@ -11733,12 +11733,12 @@ stdout of test 'MAL-signatures` in direc
 [ "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",      "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",      "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: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;",       ""      ]
@@ -12473,11 +12473,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/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -342,7 +342,6 @@ lng IMPSimprintsize(BAT *b);
 int MT_check_nr_cores(void);
 int MT_create_thread(MT_Id *t, void (*function)(void *), void *arg, enum 
MT_thr_detach d, const char *threadname);
 void MT_exiting_thread(void);
-pid_t MT_get_locking_pid(char *filename);
 MT_Id MT_getpid(void);
 size_t MT_getrss(void);
 void MT_init(void);
@@ -1911,7 +1910,7 @@ str mal2str(MalBlkPtr mb, int first, int
 int malAtomSize(int size, const char *name);
 str malBootstrap(char *modules[], int embedded);
 str malCommandCall(MalStkPtr stk, InstrPtr pci);
-str malEmbeddedBoot(void);
+str malEmbeddedBoot(int workerlimit, int memorylimit, int querytimeout, int 
sessionlimit);
 void malEmbeddedReset(void);
 _Noreturn void malEmbeddedStop(int status);
 str malExtraModulesBoot(Client c, str extraMalModules[], char *mal_scripts);
diff --git a/sql/backends/monet5/CMakeLists.txt 
b/sql/backends/monet5/CMakeLists.txt
--- a/sql/backends/monet5/CMakeLists.txt
+++ b/sql/backends/monet5/CMakeLists.txt
@@ -83,9 +83,9 @@ target_sources(sql
   sql_cast_impl_up_to_flt.h
   sql_round.c
   sql_round_impl.h
-  sql_bat2time.c
   sql_fround.c sql_fround_impl.h
   sql_orderidx.c sql_orderidx.h
+  sql_time.c
   wlr.c wlr.h
   sql_datetrunc.c
   sql_rank.c sql_rank.h
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
@@ -3604,213 +3604,6 @@ PBATSQLidentity(Client cntxt, MalBlkPtr 
  */
 
 str
-daytime_2time_daytime(daytime *res, const daytime *v, const int *digits)
-{
-       int d = (*digits) ? *digits - 1 : 0;
-
-       /* correct fraction */
-       *res = *v;
-       if (!is_daytime_nil(*v) && d < 6) {
-#ifdef TRUNCATE_NUMBERS
-               *res = (daytime) (*res / scales[6 - d]);
-#else
-               *res = (daytime) ((*res + (scales[6 - d] >> 1)) / scales[6 - 
d]);
-#endif
-               *res = (daytime) (*res * scales[6 - d]);
-       }
-       return MAL_SUCCEED;
-}
-
-str
-second_interval_2_daytime(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci)
-{
-       str msg = MAL_SUCCEED;
-       daytime *restrict ret = NULL;
-       int tpe = getArgType(mb, pci, 1), *digits = getArgReference_int(stk, 
pci, 2);
-       bool is_a_bat = false;
-       BAT *b = NULL, *res = NULL;
-       bat *r;
-       BUN q = 0;
-
-       (void) cntxt;
-       is_a_bat = isaBatType(tpe);
-       if (is_a_bat) {
-               tpe = getBatType(tpe);
-               if (!(b = BATdescriptor(*getArgReference_bat(stk, pci, 1)))) {
-                       msg = createException(SQL, 
"calc.second_interval_2_daytime", SQLSTATE(HY005) "Cannot access column 
descriptor");
-                       goto bailout;
-               }
-               q = BATcount(b);
-               if (!(res = COLnew(b->hseqbase, TYPE_daytime, q, TRANSIENT))) {
-                       msg = createException(SQL, 
"calc.second_interval_2_daytime", SQLSTATE(HY013) MAL_MALLOC_FAIL);
-                       goto bailout;
-               }
-               r = getArgReference_bat(stk, pci, 0);
-               ret = (daytime*) Tloc(res, 0);
-       } else {
-               ret = (daytime*) getArgReference(stk, pci, 0);
-       }
-
-       if (is_a_bat) {
-               lng *restrict vals = (lng*) Tloc(b, 0);
-               for (BUN i = 0 ; i < q && !msg ; i++) {
-                       lng next = vals[i];
-                       if (is_lng_nil(next)) {
-                               ret[i] = daytime_nil;
-                       } else {
-                               daytime d = daytime_add_usec(daytime_create(0, 
0, 0, 0), next * 1000);
-                               msg = daytime_2time_daytime(&(ret[i]), &d, 
digits);
-                       }
-               }
-       } else {
-               lng next = *(lng*)getArgReference(stk, pci, 1);
-               if (is_lng_nil(next)) {
-                       *ret = daytime_nil;
-               } else {
-                       daytime d = daytime_add_usec(daytime_create(0, 0, 0, 
0), next * 1000);
-                       msg = daytime_2time_daytime(ret, &d, digits);
-               }
-       }
-
-bailout:
-       if (res && !msg) {
-               BATsetcount(res, q);
-               res->tnil = b->tnil;
-               res->tnonil = b->tnonil;
-               res->tkey = BATcount(res) <= 1;
-               res->tsorted = BATcount(res) <= 1;
-               res->trevsorted = BATcount(res) <= 1;
-               BBPkeepref(*r = res->batCacheid);
-       } else if (res)
-               BBPreclaim(res);
-       if (b)
-               BBPunfix(b->batCacheid);
-       return msg;
-}
-
-str
-nil_2time_daytime(daytime *res, const void *v, const int *digits)
-{
-       (void) digits;
-       (void) v;
-       *res = daytime_nil;
-       return MAL_SUCCEED;
-}
-
-str
-str_2time_daytimetz(daytime *res, const str *v, const int *digits, int *tz)
-{
-       size_t len = sizeof(daytime);
-       ssize_t pos;
-
-       if (strNil(*v)) {
-               *res = daytime_nil;
-               return MAL_SUCCEED;
-       }
-       if (*tz)
-               pos = daytime_tz_fromstr(*v, &len, &res, false);
-       else
-               pos = daytime_fromstr(*v, &len, &res, false);
-       if (pos < (ssize_t) strlen(*v) || /* includes pos < 0 */
-           ATOMcmp(TYPE_daytime, res, ATOMnilptr(TYPE_daytime)) == 0)
-               throw(SQL, "daytime", SQLSTATE(22007) "Daytime (%s) has 
incorrect format", *v);
-       return daytime_2time_daytime(res, res, digits);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to