Changeset: 58d759145ed0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=58d759145ed0
Modified Files:
        clients/Tests/exports.stable.out
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/mtime.mal
Branch: default
Log Message:

Added more missing bulk implementations at mtime module plus small cleanup


diffs (truncated from 534 to 300 lines):

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
@@ -1514,7 +1514,8 @@ str MTIMEdate_add_msec_interval(date *re
 str MTIMEdate_add_msec_interval_bulk(bat *ret, const bat *bid1, const bat 
*bid2);
 str MTIMEdate_addmonths(date *ret, const date *v1, const int *v2);
 str MTIMEdate_addmonths_bulk(bat *ret, const bat *bid1, const bat *bid2);
-str MTIMEdate_date(date *dst, const date *src);
+str MTIMEdate_date(date *ret, const date *src);
+str MTIMEdate_date_bulk(bat *ret, const bat *bid);
 str MTIMEdate_diff(int *ret, const date *v1, const date *v2);
 str MTIMEdate_diff_bulk(bat *ret, const bat *bid1, const bat *bid2);
 str MTIMEdate_extract_century(int *ret, const date *src);
@@ -1541,7 +1542,8 @@ str MTIMEdate_sub_msec_interval_bulk(bat
 str MTIMEdate_submonths(date *ret, const date *v1, const int *v2);
 str MTIMEdate_submonths_bulk(bat *ret, const bat *bid1, const bat *bid2);
 str MTIMEdate_to_str(str *ret, const date *d, const char *const *format);
-str MTIMEdaytime_daytime(daytime *dst, const daytime *src);
+str MTIMEdaytime_daytime(daytime *ret, const daytime *src);
+str MTIMEdaytime_daytime_bulk(bat *ret, const bat *bid);
 str MTIMEdaytime_diff_msec(lng *ret, const daytime *v1, const daytime *v2);
 str MTIMEdaytime_diff_msec_bulk(bat *ret, const bat *bid1, const bat *bid2);
 str MTIMEdaytime_extract_hours(int *ret, const daytime *src);
@@ -1555,12 +1557,18 @@ str MTIMEdaytime_fromseconds_bulk(bat *r
 str MTIMEdaytime_fromstr(daytime *ret, const char *const *s);
 str MTIMElocal_timezone_msec(lng *ret);
 str MTIMEseconds_since_epoch(int *ret, const timestamp *t);
-str MTIMEsql_day(lng *ret, const lng *msecs);
-str MTIMEsql_hours(int *ret, const lng *msecs);
-str MTIMEsql_minutes(int *ret, const lng *msecs);
-str MTIMEsql_month(int *ret, const int *months);
-str MTIMEsql_seconds(int *ret, const lng *msecs);
-str MTIMEsql_year(int *ret, const int *months);
+str MTIMEsql_day(lng *ret, const lng *src);
+str MTIMEsql_day_bulk(bat *ret, const bat *bid);
+str MTIMEsql_hours(int *ret, const lng *src);
+str MTIMEsql_hours_bulk(bat *ret, const bat *bid);
+str MTIMEsql_minutes(int *ret, const lng *src);
+str MTIMEsql_minutes_bulk(bat *ret, const bat *bid);
+str MTIMEsql_month(int *ret, const int *src);
+str MTIMEsql_month_bulk(bat *ret, const bat *bid);
+str MTIMEsql_seconds(int *ret, const lng *src);
+str MTIMEsql_seconds_bulk(bat *ret, const bat *bid);
+str MTIMEsql_year(int *ret, const int *src);
+str MTIMEsql_year_bulk(bat *ret, const bat *bid);
 str MTIMEstr_to_date(date *ret, const char *const *s, const char *const 
*format);
 str MTIMEstr_to_time(daytime *ret, const char *const *s, const char *const 
*format);
 str MTIMEstr_to_timestamp(timestamp *ret, const char *const *s, const char 
*const *format);
@@ -1573,9 +1581,12 @@ str MTIMEtimestamp_add_month_interval(ti
 str MTIMEtimestamp_add_month_interval_bulk(bat *ret, const bat *bid1, const 
bat *bid2);
 str MTIMEtimestamp_add_msec_interval(timestamp *ret, const timestamp *v1, 
const lng *v2);
 str MTIMEtimestamp_add_msec_interval_bulk(bat *ret, const bat *bid1, const bat 
*bid2);
-str MTIMEtimestamp_century(int *ret, const timestamp *t);
-str MTIMEtimestamp_day(int *ret, const timestamp *t);
-str MTIMEtimestamp_decade(int *ret, const timestamp *t);
+str MTIMEtimestamp_century(int *ret, const timestamp *src);
+str MTIMEtimestamp_century_bulk(bat *ret, const bat *bid);
+str MTIMEtimestamp_day(int *ret, const timestamp *src);
+str MTIMEtimestamp_day_bulk(bat *ret, const bat *bid);
+str MTIMEtimestamp_decade(int *ret, const timestamp *src);
+str MTIMEtimestamp_decade_bulk(bat *ret, const bat *bid);
 str MTIMEtimestamp_diff_msec(lng *ret, const timestamp *v1, const timestamp 
*v2);
 str MTIMEtimestamp_diff_msec_bulk(bat *ret, const bat *bid1, const bat *bid2);
 str MTIMEtimestamp_extract_date(date *ret, const timestamp *src);
@@ -1589,19 +1600,25 @@ str MTIMEtimestamp_frommsec_bulk(bat *re
 str MTIMEtimestamp_fromsecond(timestamp *ret, const int *src);
 str MTIMEtimestamp_fromsecond_bulk(bat *ret, const bat *bid);
 str MTIMEtimestamp_fromstr(timestamp *ret, const char *const *s);
-str MTIMEtimestamp_hours(int *ret, const timestamp *t);
-str MTIMEtimestamp_minutes(int *ret, const timestamp *t);
-str MTIMEtimestamp_month(int *ret, const timestamp *t);
-str MTIMEtimestamp_quarter(int *ret, const timestamp *t);
+str MTIMEtimestamp_hours(int *ret, const timestamp *src);
+str MTIMEtimestamp_hours_bulk(bat *ret, const bat *bid);
+str MTIMEtimestamp_minutes(int *ret, const timestamp *src);
+str MTIMEtimestamp_minutes_bulk(bat *ret, const bat *bid);
+str MTIMEtimestamp_month(int *ret, const timestamp *src);
+str MTIMEtimestamp_month_bulk(bat *ret, const bat *bid);
+str MTIMEtimestamp_quarter(int *ret, const timestamp *src);
+str MTIMEtimestamp_quarter_bulk(bat *ret, const bat *bid);
 str MTIMEtimestamp_sql_seconds(int *ret, const timestamp *src);
 str MTIMEtimestamp_sql_seconds_bulk(bat *ret, const bat *bid);
 str MTIMEtimestamp_sub_month_interval(timestamp *ret, const timestamp *v1, 
const int *v2);
 str MTIMEtimestamp_sub_month_interval_bulk(bat *ret, const bat *bid1, const 
bat *bid2);
 str MTIMEtimestamp_sub_msec_interval(timestamp *ret, const timestamp *v1, 
const lng *v2);
 str MTIMEtimestamp_sub_msec_interval_bulk(bat *ret, const bat *bid1, const bat 
*bid2);
-str MTIMEtimestamp_timestamp(timestamp *dst, const timestamp *src);
+str MTIMEtimestamp_timestamp(timestamp *ret, const timestamp *src);
+str MTIMEtimestamp_timestamp_bulk(bat *ret, const bat *bid);
 str MTIMEtimestamp_to_str(str *ret, const timestamp *d, const char *const 
*format);
-str MTIMEtimestamp_year(int *ret, const timestamp *t);
+str MTIMEtimestamp_year(int *ret, const timestamp *src);
+str MTIMEtimestamp_year_bulk(bat *ret, const bat *bid);
 str OIDXcreate(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str OIDXcreateImplementation(Client cntxt, int tpe, BAT *b, int pieces);
 str OIDXdropImplementation(Client cntxt, BAT *b);
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
@@ -42,28 +42,11 @@ extern char *strptime(const char *, cons
 mal_export str MTIMEcurrent_date(date *ret);
 mal_export str MTIMEcurrent_time(daytime *ret);
 mal_export str MTIMEcurrent_timestamp(timestamp *ret);
-mal_export str MTIMEtimestamp_century(int *ret, const timestamp *t);
-mal_export str MTIMEtimestamp_decade(int *ret, const timestamp *t);
-mal_export str MTIMEtimestamp_year(int *ret, const timestamp *t);
-mal_export str MTIMEtimestamp_quarter(int *ret, const timestamp *t);
-mal_export str MTIMEtimestamp_month(int *ret, const timestamp *t);
-mal_export str MTIMEtimestamp_day(int *ret, const timestamp *t);
-mal_export str MTIMEtimestamp_hours(int *ret, const timestamp *t);
-mal_export str MTIMEtimestamp_minutes(int *ret, const timestamp *t);
-mal_export str MTIMEsql_year(int *ret, const int *months);
-mal_export str MTIMEsql_month(int *ret, const int *months);
-mal_export str MTIMEsql_day(lng *ret, const lng *msecs);
-mal_export str MTIMEsql_hours(int *ret, const lng *msecs);
-mal_export str MTIMEsql_minutes(int *ret, const lng *msecs);
-mal_export str MTIMEsql_seconds(int *ret, const lng *msecs);
 
 mal_export str MTIMEdate_fromstr(date *ret, const char *const *s);
-mal_export str MTIMEdate_date(date *dst, const date *src);
 mal_export str MTIMEtimestamp_fromstr(timestamp *ret, const char *const *s);
-mal_export str MTIMEtimestamp_timestamp(timestamp *dst, const timestamp *src);
 mal_export str MTIMEseconds_since_epoch(int *ret, const timestamp *t);
 mal_export str MTIMEdaytime_fromstr(daytime *ret, const char *const *s);
-mal_export str MTIMEdaytime_daytime(daytime *dst, const daytime *src);
 mal_export str MTIMEdaytime_fromseconds(daytime *ret, const lng *secs);
 mal_export str MTIMEdaytime_fromseconds_bulk(bat *ret, bat *bid);
 mal_export str MTIMElocal_timezone_msec(lng *ret);
@@ -273,18 +256,9 @@ NAMEBULK(bat *ret, const bat *bid1, cons
        return MAL_SUCCEED;                                                     
                                                \
 }
 
-static inline date
-date_sub_msec_interval(const date d, const lng ms)
-{
-       return date_add_day(d, (int) (-ms / (24*60*60*1000)));
-}
+#define date_sub_msec_interval(d, ms) date_add_day(d, (int) (-ms / 
(24*60*60*1000)))
+#define date_add_msec_interval(d, ms) date_add_day(d, (int) (ms / 
(24*60*60*1000)))
 func2chk(MTIMEdate_sub_msec_interval, MTIMEdate_sub_msec_interval_bulk, 
"date_sub_msec_interval", date, lng, date, date_sub_msec_interval)
-
-static inline date
-date_add_msec_interval(const date d, const lng ms)
-{
-       return date_add_day(d, (int) (ms / (24*60*60*1000)));
-}
 func2chk(MTIMEdate_add_msec_interval, MTIMEdate_add_msec_interval_bulk, 
"date_add_msec_interval", date, lng, date, date_add_msec_interval)
 
 #define TSSUBMS(ts, ms)                timestamp_add_usec((ts), -(ms) * 1000)
@@ -292,18 +266,9 @@ func2chk(MTIMEdate_add_msec_interval, MT
 func2chk(MTIMEtimestamp_sub_msec_interval, 
MTIMEtimestamp_sub_msec_interval_bulk, "timestamp_sub_msec_interval", 
timestamp, lng, timestamp, TSSUBMS)
 func2chk(MTIMEtimestamp_add_msec_interval, 
MTIMEtimestamp_add_msec_interval_bulk, "timestamp_add_msec_interval", 
timestamp, lng, timestamp, TSADDMS)
 
-static inline timestamp
-timestamp_sub_month_interval(const timestamp t, const int m)
-{
-       return timestamp_add_month(t, -m);
-}
+#define timestamp_sub_month_interval(d, m) timestamp_add_month(d, -m)
+#define timestamp_add_month_interval(d, m) timestamp_add_month(d, m)
 func2chk(MTIMEtimestamp_sub_month_interval, 
MTIMEtimestamp_sub_month_interval_bulk, "timestamp_sub_month_interval", 
timestamp, int, timestamp, timestamp_sub_month_interval)
-
-static inline timestamp
-timestamp_add_month_interval(const timestamp t, const int m)
-{
-       return timestamp_add_month(t, m);
-}
 func2chk(MTIMEtimestamp_add_month_interval, 
MTIMEtimestamp_add_month_interval_bulk, "timestamp_add_month_interval", 
timestamp, int, timestamp, timestamp_add_month_interval)
 
 static inline daytime
@@ -313,8 +278,6 @@ time_sub_msec_interval(const daytime t, 
                return daytime_nil;
        return daytime_add_usec_modulo(t, -ms * 1000);
 }
-func2(MTIMEtime_sub_msec_interval, MTIMEtime_sub_msec_interval_bulk, 
"time_sub_msec_interval", daytime, lng, daytime, time_sub_msec_interval)
-
 static inline daytime
 time_add_msec_interval(const daytime t, const lng ms)
 {
@@ -322,34 +285,26 @@ time_add_msec_interval(const daytime t, 
                return daytime_nil;
        return daytime_add_usec_modulo(t, ms * 1000);
 }
+func2(MTIMEtime_sub_msec_interval, MTIMEtime_sub_msec_interval_bulk, 
"time_sub_msec_interval", daytime, lng, daytime, time_sub_msec_interval)
 func2(MTIMEtime_add_msec_interval, MTIMEtime_add_msec_interval_bulk, 
"time_add_msec_interval", daytime, lng, daytime, time_add_msec_interval)
 
-static inline date
-date_submonths(const date d, const int m)
-{
-       return date_add_month(d, -m);
-}
+#define date_submonths(d, m) date_add_month(d, -m)
+#define date_addmonths(d, m) date_add_month(d, m)
 func2chk(MTIMEdate_submonths, MTIMEdate_submonths_bulk, "date_submonths", 
date, int, date, date_submonths)
-
-static inline date
-date_addmonths(const date d, const int m)
-{
-       return date_add_month(d, m);
-}
 func2chk(MTIMEdate_addmonths, MTIMEdate_addmonths_bulk, "date_addmonths", 
date, int, date, date_addmonths)
 
-func1(MTIMEdate_extract_century, MTIMEdate_extract_century_bulk, "century", 
date, int, date_century, COPYFLAGS)
-func1(MTIMEdate_extract_decade, MTIMEdate_extract_decade_bulk, "decade", date, 
int, date_decade, COPYFLAGS)
-func1(MTIMEdate_extract_year, MTIMEdate_extract_year_bulk, "year", date, int, 
date_year, COPYFLAGS)
-func1(MTIMEdate_extract_quarter, MTIMEdate_extract_quarter_bulk, "quarter", 
date, int, date_quarter, SETFLAGS)
-func1(MTIMEdate_extract_month, MTIMEdate_extract_month_bulk, "month", date, 
int, date_month, SETFLAGS)
-func1(MTIMEdate_extract_day, MTIMEdate_extract_day_bulk, "day", date, int, 
date_day, SETFLAGS)
-func1(MTIMEdate_extract_dayofyear, MTIMEdate_extract_dayofyear_bulk, 
"dayofyear", date, int, date_dayofyear, SETFLAGS)
-func1(MTIMEdate_extract_weekofyear, MTIMEdate_extract_weekofyear_bulk, 
"weekofyear", date, int, date_weekofyear, SETFLAGS)
-func1(MTIMEdate_extract_dayofweek, MTIMEdate_extract_dayofweek_bulk, 
"dayofweek", date, int, date_dayofweek, SETFLAGS)
-func1(MTIMEdaytime_extract_hours, MTIMEdaytime_extract_hours_bulk, "hours", 
daytime, int, daytime_hour, COPYFLAGS)
-func1(MTIMEdaytime_extract_minutes, MTIMEdaytime_extract_minutes_bulk, 
"minutes", daytime, int, daytime_min, SETFLAGS)
-func1(MTIMEdaytime_extract_sql_seconds, MTIMEdaytime_extract_sql_seconds_bulk, 
"seconds", daytime, int, daytime_sec_usec, SETFLAGS)
+func1(MTIMEdate_extract_century, MTIMEdate_extract_century_bulk, 
"date_century", date, int, date_century, COPYFLAGS)
+func1(MTIMEdate_extract_decade, MTIMEdate_extract_decade_bulk, "date_decade", 
date, int, date_decade, COPYFLAGS)
+func1(MTIMEdate_extract_year, MTIMEdate_extract_year_bulk, "date_year", date, 
int, date_year, COPYFLAGS)
+func1(MTIMEdate_extract_quarter, MTIMEdate_extract_quarter_bulk, 
"date_quarter", date, int, date_quarter, SETFLAGS)
+func1(MTIMEdate_extract_month, MTIMEdate_extract_month_bulk, "date_month", 
date, int, date_month, SETFLAGS)
+func1(MTIMEdate_extract_day, MTIMEdate_extract_day_bulk, "date_day", date, 
int, date_day, SETFLAGS)
+func1(MTIMEdate_extract_dayofyear, MTIMEdate_extract_dayofyear_bulk, 
"date_dayofyear", date, int, date_dayofyear, SETFLAGS)
+func1(MTIMEdate_extract_weekofyear, MTIMEdate_extract_weekofyear_bulk, 
"date_weekofyear", date, int, date_weekofyear, SETFLAGS)
+func1(MTIMEdate_extract_dayofweek, MTIMEdate_extract_dayofweek_bulk, 
"date_dayofweek", date, int, date_dayofweek, SETFLAGS)
+func1(MTIMEdaytime_extract_hours, MTIMEdaytime_extract_hours_bulk, 
"daytime_hour", daytime, int, daytime_hour, COPYFLAGS)
+func1(MTIMEdaytime_extract_minutes, MTIMEdaytime_extract_minutes_bulk, 
"daytime_minutes", daytime, int, daytime_min, SETFLAGS)
+func1(MTIMEdaytime_extract_sql_seconds, MTIMEdaytime_extract_sql_seconds_bulk, 
"daytime_seconds", daytime, int, daytime_sec_usec, SETFLAGS)
 
 static inline lng
 TSDIFF(timestamp t1, timestamp t2)
@@ -369,118 +324,47 @@ TSDIFF(timestamp t1, timestamp t2)
 }
 func2(MTIMEtimestamp_diff_msec, MTIMEtimestamp_diff_msec_bulk, "diff", 
timestamp, timestamp, lng, TSDIFF)
 
-str
-MTIMEtimestamp_century(int *ret, const timestamp *t)
+static inline int
+timestamp_century(const timestamp t)
 {
-       if (is_timestamp_nil(*t)) {
-               *ret = int_nil;
-       } else {
-               int y = date_year(timestamp_date(*t));
-               if (y > 0)
-                       *ret = (y - 1) / 100 + 1;
-               else
-                       *ret = -((-y - 1) / 100 + 1);
-       }
-       return MAL_SUCCEED;
-}
-
-str
-MTIMEtimestamp_decade(int *ret, const timestamp *t)
-{
-       if (is_timestamp_nil(*t)) {
-               *ret = int_nil;
-       } else {
-               *ret = date_year(timestamp_date(*t)) / 10;
-       }
-       return MAL_SUCCEED;
-}
-
-str
-MTIMEtimestamp_year(int *ret, const timestamp *t)
-{
-       *ret = date_year(timestamp_date(*t));
-       return MAL_SUCCEED;
+       if (is_timestamp_nil(t))
+               return int_nil;
+       int y = date_year(timestamp_date(t));
+       if (y > 0)
+               return (y - 1) / 100 + 1;
+       else
+               return -((-y - 1) / 100 + 1);
 }
-
-str
-MTIMEtimestamp_quarter(int *ret, const timestamp *t)
-{
-       *ret = is_timestamp_nil(*t) ? int_nil : (date_month(timestamp_date(*t)) 
- 1) / 3 + 1;
-       return MAL_SUCCEED;
-}
-
-str
-MTIMEtimestamp_month(int *ret, const timestamp *t)
-{
-       *ret = date_month(timestamp_date(*t));
-       return MAL_SUCCEED;
-}
-
-str
-MTIMEtimestamp_day(int *ret, const timestamp *t)
-{
-       *ret = date_day(timestamp_date(*t));
-       return MAL_SUCCEED;
-}
-
-str
-MTIMEtimestamp_hours(int *ret, const timestamp *t)
-{
-       *ret = daytime_hour(timestamp_daytime(*t));
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to