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