Changeset: f6ac8317c4d0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/f6ac8317c4d0 Modified Files: clients/Tests/MAL-signatures-hge.test monetdb5/modules/atoms/mtime.c Branch: Dec2023 Log Message:
Make sure the MAL interfaces correspond with the C code. This fxes bug #7431. diffs (truncated from 484 to 300 lines): diff --git a/clients/Tests/MAL-signatures-hge.test b/clients/Tests/MAL-signatures-hge.test --- a/clients/Tests/MAL-signatures-hge.test +++ b/clients/Tests/MAL-signatures-hge.test @@ -31850,12 +31850,12 @@ MTIMEdate_sub_msec_interval_bulk_p2; (empty) batmtime date_to_str -pattern batmtime.date_to_str(X_0:bat[:str], X_1:bat[:str]):bat[:str] +pattern batmtime.date_to_str(X_0:bat[:date], X_1:bat[:str]):bat[:str] MTIMEdate_to_str_bulk; (empty) batmtime date_to_str -pattern batmtime.date_to_str(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:str] +pattern batmtime.date_to_str(X_0:bat[:date], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:str] MTIMEdate_to_str_bulk; (empty) batmtime @@ -47972,7 +47972,7 @@ mtime epoch command mtime.epoch(X_0:lng):timestamp MTIMEtimestamp_frommsec_epoch; -convert milli seconds since epoch into a timestamp +convert milliseconds since epoch into a timestamp mtime epoch command mtime.epoch(X_0:int):timestamp diff --git a/monetdb5/modules/atoms/mtime.c b/monetdb5/modules/atoms/mtime.c --- a/monetdb5/modules/atoms/mtime.c +++ b/monetdb5/modules/atoms/mtime.c @@ -511,17 +511,17 @@ func2(MTIMEtimestamp_add_msec_interval, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) func2(MTIMEodbc_timestamp_add_msec_interval_time, - "odbc_timestamp_add_msec_interval_time", daytime, lng, timestamp, + "odbc_timestamp_add_msec_time", daytime, lng, timestamp, odbc_timestamp_add_msec_interval_time, func2_except, DEC_VAR_R, DEC_VAR_R, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) func2(MTIMEodbc_timestamp_add_month_interval_time, - "odbc_timestamp_add_month_interval_time", daytime, int, timestamp, + "odbc_timestamp_add_month_time", daytime, int, timestamp, odbc_timestamp_add_month_interval_time, func2_except, DEC_VAR_R, DEC_VAR_R, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) func2(MTIMEodbc_timestamp_add_msec_interval_date, - "odbc_timestamp_add_msec_interval_date", date, lng, timestamp, + "odbc_timestamp_add_msec_date", date, lng, timestamp, odbc_timestamp_add_msec_interval_date, func2_except, DEC_VAR_R, DEC_VAR_R, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) @@ -543,54 +543,54 @@ func2(MTIMEtime_add_msec_interval, "time daytime, time_add_msec_interval, func2_noexcept, DEC_VAR_R, DEC_VAR_R, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) -func2(MTIMEdate_submonths, "date_submonths", date, int, date, date_submonths, +func2(MTIMEdate_submonths, "date_sub_month_interval", date, int, date, date_submonths, func2_except, DEC_VAR_R, DEC_VAR_R, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) -func2(MTIMEdate_addmonths, "date_addmonths", date, int, date, date_addmonths, +func2(MTIMEdate_addmonths, "addmonths", date, int, date, date_addmonths, func2_except, DEC_VAR_R, DEC_VAR_R, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) -func1(MTIMEdate_extract_century, "date_century", date, int, date_century, +func1(MTIMEdate_extract_century, "century", date, int, date_century, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdate_extract_decade, "date_decade", date, int, date_decade, +func1(MTIMEdate_extract_decade, "decade", date, int, date_decade, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdate_extract_year, "date_year", date, int, date_year, COPYFLAGS, +func1(MTIMEdate_extract_year, "year", date, int, date_year, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdate_extract_quarter, "date_quarter", date, bte, date_quarter, +func1(MTIMEdate_extract_quarter, "quarter", date, bte, date_quarter, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdate_extract_month, "date_month", date, bte, date_month, SETFLAGS, +func1(MTIMEdate_extract_month, "month", date, bte, date_month, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdate_extract_day, "date_day", date, bte, date_day, SETFLAGS, +func1(MTIMEdate_extract_day, "day", date, bte, date_day, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdate_extract_dayofyear, "date_dayofyear", date, sht, date_dayofyear, +func1(MTIMEdate_extract_dayofyear, "dayofyear", date, sht, date_dayofyear, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdate_extract_weekofyear, "date_weekofyear", date, bte, +func1(MTIMEdate_extract_weekofyear, "weekofyear", date, bte, date_weekofyear, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdate_extract_usweekofyear, "date_usweekofyear", date, bte, +func1(MTIMEdate_extract_usweekofyear, "usweekofyear", date, bte, date_usweekofyear, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdate_extract_dayofweek, "date_dayofweek", date, bte, date_dayofweek, +func1(MTIMEdate_extract_dayofweek, "dayofweek", date, bte, date_dayofweek, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) func1(MTIMEdate_extract_epoch_ms, "epoch_ms", date, lng, date_to_msec_since_epoch, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdaytime_extract_hours, "daytime_hour", daytime, bte, daytime_hour, +func1(MTIMEdaytime_extract_hours, "hours", daytime, bte, daytime_hour, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdaytime_extract_minutes, "daytime_minutes", daytime, bte, +func1(MTIMEdaytime_extract_minutes, "minutes", daytime, bte, daytime_min, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEdaytime_extract_sql_seconds, "daytime_seconds", daytime, int, +func1(MTIMEdaytime_extract_sql_seconds, "sql_seconds", daytime, int, daytime_sec_usec, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) func1(MTIMEdaytime_extract_epoch_ms, "epoch_ms", daytime, lng, @@ -600,28 +600,28 @@ func2(MTIMEtimestamp_diff_msec, "diff", func2_noexcept, DEC_VAR, DEC_VAR, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) -func1(MTIMEtimestamp_century, "timestamp_century", timestamp, int, +func1(MTIMEtimestamp_century, "century", timestamp, int, timestamp_century, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEtimestamp_decade, "timestamp_decade", timestamp, int, +func1(MTIMEtimestamp_decade, "decade", timestamp, int, timestamp_decade, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEtimestamp_year, "timestamp_year", timestamp, int, timestamp_year, +func1(MTIMEtimestamp_year, "year", timestamp, int, timestamp_year, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEtimestamp_quarter, "timestamp_quarter", timestamp, bte, +func1(MTIMEtimestamp_quarter, "quarter", timestamp, bte, timestamp_quarter, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEtimestamp_month, "timestamp_month", timestamp, bte, timestamp_month, +func1(MTIMEtimestamp_month, "month", timestamp, bte, timestamp_month, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEtimestamp_day, "timestamp_day", timestamp, bte, timestamp_day, +func1(MTIMEtimestamp_day, "day", timestamp, bte, timestamp_day, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEtimestamp_hours, "timestamp_hours", timestamp, bte, timestamp_hours, +func1(MTIMEtimestamp_hours, "hours", timestamp, bte, timestamp_hours, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEtimestamp_minutes, "timestamp_minutes", timestamp, bte, +func1(MTIMEtimestamp_minutes, "minutes", timestamp, bte, timestamp_minutes, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) func1(MTIMEtimestamp_sql_seconds, "sql_seconds", timestamp, int, @@ -630,23 +630,23 @@ func1(MTIMEtimestamp_sql_seconds, "sql_s func1(MTIMEtimestamp_extract_epoch_ms, "epoch_ms", timestamp, lng, timestamp_to_msec_since_epoch, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEsql_year, "sql_year", int, int, sql_year, COPYFLAGS, func1_noexcept, +func1(MTIMEsql_year, "year", int, int, sql_year, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEsql_month, "sql_month", int, int, sql_month, SETFLAGS, +func1(MTIMEsql_month, "month", int, int, sql_month, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEsql_day, "sql_day", lng, lng, sql_day, COPYFLAGS, func1_noexcept, +func1(MTIMEsql_day, "day", lng, lng, sql_day, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEsql_hours, "sql_hours", lng, int, sql_hours, SETFLAGS, +func1(MTIMEsql_hours, "hours", lng, int, sql_hours, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEsql_minutes, "sql_minutes", lng, int, sql_minutes, SETFLAGS, +func1(MTIMEsql_minutes, "minutes", lng, int, sql_minutes, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEsql_seconds, "sql_seconds", lng, int, sql_seconds, SETFLAGS, +func1(MTIMEsql_seconds, "seconds", lng, int, sql_seconds, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEmsec_extract_epoch_ms, "msepoch", lng, lng, msec_since_epoch, +func1(MTIMEmsec_extract_epoch_ms, "epoch_ms", lng, lng, msec_since_epoch, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) static inline str @@ -662,11 +662,11 @@ date_fromstr_func(date *ret, str s) return MAL_SUCCEED; } -func1(MTIMEdate_fromstr, "date_fromstr", str, date, +func1(MTIMEdate_fromstr, "date", str, date, date_fromstr_func, SETFLAGS, func1_except, DEC_ITER, DEC_VAR_R, INIT_ITERIN, INIT_VAROUT, GET_NEXT_ITER) #define date_date(m) m -func1(MTIMEdate_date, "date_date", date, date, +func1(MTIMEdate_date, "date", date, date, date_date, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) func1(MTIMEtimestamp_extract_date, "date", timestamp, date, @@ -680,19 +680,19 @@ timestamp_fromstr_func(timestamp *ret, s return MAL_SUCCEED; } -func1(MTIMEtimestamp_fromstr, "timestamp_fromstr", str, timestamp, +func1(MTIMEtimestamp_fromstr, "timestamp", str, timestamp, timestamp_fromstr_func, SETFLAGS, func1_except, DEC_ITER, DEC_VAR_R, INIT_ITERIN, INIT_VAROUT, GET_NEXT_ITER) #define timestamp_timestamp(m) m -func1(MTIMEtimestamp_timestamp, "timestamp_timestamp", timestamp, timestamp, +func1(MTIMEtimestamp_timestamp, "timestamp", timestamp, timestamp, timestamp_timestamp, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) #define mkts(dt) timestamp_create(dt, daytime_create(0, 0, 0, 0)) -func1(MTIMEtimestamp_fromdate, "timestamp_fromdate", date, timestamp, +func1(MTIMEtimestamp_fromdate, "timestamp", date, timestamp, mkts, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) #define seconds_since_epoch(t) is_timestamp_nil(t) ? int_nil : (int) (timestamp_diff(t, unixepoch) / 1000000); -func1(MTIMEseconds_since_epoch, "seconds_since_epoch", timestamp, int, +func1(MTIMEseconds_since_epoch, "epoch", timestamp, int, seconds_since_epoch, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) #define mktsfromsec(sec) (is_int_nil(sec) ? \ @@ -704,17 +704,17 @@ func1(MTIMEseconds_since_epoch, "seconds timestamp_add_usec(unixepoch, \ (msec) * LL_CONSTANT(1000))) /* TODO later I have to remove this call */ -func1(MTIMEtimestamp_fromsecond_epoch, "timestamp_fromsecond_epoch", int, +func1(MTIMEtimestamp_fromsecond_epoch, "epoch", int, timestamp, mktsfromsec, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEtimestamp_fromsecond, "timestamp_fromsecond", int, timestamp, +func1(MTIMEtimestamp_fromsecond, "timestamp", int, timestamp, mktsfromsec, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) /* TODO later I have to remove this call */ -func1(MTIMEtimestamp_frommsec_epoch, "timestamp_frommsec_epoch", lng, timestamp, +func1(MTIMEtimestamp_frommsec_epoch, "epoch", lng, timestamp, mktsfrommsec, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEtimestamp_frommsec, "timestamp_frommsec", lng, timestamp, +func1(MTIMEtimestamp_frommsec, "timestamp", lng, timestamp, mktsfrommsec, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) static inline str @@ -725,11 +725,11 @@ daytime_fromstr_func(daytime *ret, str s return MAL_SUCCEED; } -func1(MTIMEdaytime_fromstr, "daytime_fromstr", str, daytime, +func1(MTIMEdaytime_fromstr, "daytime", str, daytime, daytime_fromstr_func, SETFLAGS, func1_except, DEC_ITER, DEC_VAR_R, INIT_ITERIN, INIT_VAROUT, GET_NEXT_ITER) #define daytime_daytime(m) m -func1(MTIMEdaytime_daytime, "daytime_daytime", daytime, daytime, +func1(MTIMEdaytime_daytime, "daytime", daytime, daytime, daytime_daytime, COPYFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) static inline str @@ -745,10 +745,10 @@ daytime_fromseconds(daytime *ret, lng se return MAL_SUCCEED; } -func1(MTIMEdaytime_fromseconds, "daytime_fromseconds", lng, daytime, +func1(MTIMEdaytime_fromseconds, "daytime", lng, daytime, daytime_fromseconds, COPYFLAGS, func1_except, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) -func1(MTIMEtimestamp_extract_daytime, "timestamp_extract_daytime", timestamp, +func1(MTIMEtimestamp_extract_daytime, "daytime", timestamp, daytime, timestamp_daytime, SETFLAGS, func1_noexcept, DEC_VAR_R, DEC_VAR_R, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR) /* return current system time zone offset in seconds East of Greenwich */ @@ -1160,12 +1160,12 @@ func2(MTIMEtimestampdiff_sec, "timestamp DEC_VAR, DEC_VAR, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) -func2(MTIMEtimestampdiff_sec_d_ts, "timestampdiff_sec_date_timestamp", +func2(MTIMEtimestampdiff_sec_d_ts, "timestampdiff_sec", date, timestamp, lng, timestampdiff_sec_date_timestamp, func2_noexcept, DEC_VAR, DEC_VAR, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) -func2(MTIMEtimestampdiff_sec_ts_d, "timestampdiff_sec_timestamp_date", +func2(MTIMEtimestampdiff_sec_ts_d, "timestampdiff_sec", timestamp, date, lng, timestampdiff_sec_timestamp_date, func2_noexcept, DEC_VAR, DEC_VAR, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, @@ -1175,12 +1175,12 @@ func2(MTIMEtimestampdiff_min, "timestamp DEC_VAR, DEC_VAR, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, GET_NEXT_VAR, GET_NEXT_VAR, APPEND_VAR, FINISH_INT_SINGLE, CLEAR_NOTHING) -func2(MTIMEtimestampdiff_min_d_ts, "timestampdiff_min_date_timestamp", +func2(MTIMEtimestampdiff_min_d_ts, "timestampdiff_min", date, timestamp, lng, timestampdiff_min_date_timestamp, func2_noexcept, DEC_VAR, DEC_VAR, DEC_VAR_R, DEC_INT, INIT_VARIN, INIT_VARIN, INIT_VAROUT, _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org