Changeset: f154200dcc5a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f154200dcc5a
Modified Files:
clients/Tests/exports.stable.out
monetdb5/modules/atoms/mtime.c
monetdb5/modules/atoms/mtime.h
Branch: mtime
Log Message:
Function date_dayofyear().
diffs (56 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
@@ -2071,6 +2071,7 @@ date date_add_month(date dt, int months)
date date_create(int year, int month, int day);
int date_day(date dt);
int date_dayofweek(date dt);
+int date_dayofyear(date dt);
int date_diff(date d1, date d2);
ssize_t date_fromstr(const char *buf, size_t *len, date **d, bool external);
int date_month(date dt);
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
@@ -236,6 +236,15 @@ date_weekofyear(date dt)
return (cnt2 - cnt1) / 7 + 1;
}
+int
+date_dayofyear(date dt)
+{
+ if (is_date_nil(dt))
+ return int_nil;
+ int m = date_extract_month(dt);
+ return date_extract_day(dt) + cumdays[m-1] + (m > 2 &&
isleapyear(date_extract_year(dt)));
+}
+
daytime
daytime_create(int hour, int min, int sec, int usec)
{
@@ -1563,13 +1572,7 @@ MTIMEdaytime_extract_sql_seconds_bulk(ba
str
MTIMEdate_extract_dayofyear(int *ret, const date *d)
{
- if (is_date_nil(*d))
- *ret = int_nil;
- else {
- int y = date_extract_year(*d);
- int m = date_extract_month(*d);
- *ret = date_extract_day(*d) + cumdays[m-1] + (m > 2 &&
isleapyear(y));
- }
+ *ret = date_dayofyear(*d);
return MAL_SUCCEED;
}
diff --git a/monetdb5/modules/atoms/mtime.h b/monetdb5/modules/atoms/mtime.h
--- a/monetdb5/modules/atoms/mtime.h
+++ b/monetdb5/modules/atoms/mtime.h
@@ -38,6 +38,7 @@ mal_export date date_add_month(date dt,
mal_export int date_diff(date d1, date d2);
mal_export int date_dayofweek(date dt); /* Monday=1, Sunday=7 */
mal_export int date_weekofyear(date dt);
+mal_export int date_dayofyear(date dt);
mal_export int date_year(date dt);
mal_export int date_month(date dt);
mal_export int date_day(date dt);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list