Changeset: 38a0180fecdc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=38a0180fecdc
Modified Files:
monetdb5/modules/atoms/mtime.c
sql/backends/monet5/sql_datetrunc.c
sql/test/BugTracker-2019/Tests/date_trunc.sql
Branch: datetrunc
Log Message:
Use new is_*_nil
diffs (154 lines):
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
@@ -1798,7 +1798,7 @@ MTIMEdate_extract_day(int *ret, const da
str
MTIMEdate_extract_ymd(int *year, int *month, int *day, const date *v)
{
- if (date_isnil(*v)) {
+ if (is_date_nil(*v)) {
*year = int_nil;
*month = int_nil;
*day = int_nil;
diff --git a/sql/backends/monet5/sql_datetrunc.c
b/sql/backends/monet5/sql_datetrunc.c
--- a/sql/backends/monet5/sql_datetrunc.c
+++ b/sql/backends/monet5/sql_datetrunc.c
@@ -13,7 +13,7 @@
#define date_trunc_time_loop(NAME, TYPE, DIVISOR) \
if ( strcmp(*scale, NAME) == 0){ \
for( ; lo < hi; lo++) \
- if (timestamp_isnil(bt[lo])) { \
+ if (is_timestamp_nil(bt[lo])) { \
dt[lo] = *timestamp_nil;
\
nils++; \
} else { \
@@ -77,7 +77,7 @@ bat_date_trunc(bat *res, const str *scal
if ( strcmp(*scale, "day") == 0){
for( ; lo < hi; lo++)
- if (timestamp_isnil(bt[lo])) {
+ if (is_timestamp_nil(bt[lo])) {
dt[lo] = *timestamp_nil;
} else {
ts = bt[lo];
@@ -106,7 +106,7 @@ bat_date_trunc(bat *res, const str *scal
#define date_trunc_single_time(NAME, TYPE, DIVISOR) \
if ( strcmp(*scale, NAME) == 0){ \
- if (timestamp_isnil(*bt)) { \
+ if (is_timestamp_nil(*bt)) { \
*dt = *timestamp_nil; \
} else { \
ts = *bt; \
@@ -131,7 +131,7 @@ date_trunc(timestamp *dt, const str *sca
date_trunc_single_time("hour", TIMESTAMP, (1000 * 60 * 24))
if ( strcmp(*scale, "day") == 0){
- if (timestamp_isnil(*bt)) {
+ if (is_timestamp_nil(*bt)) {
*dt = *timestamp_nil;
} else {
ts = *bt;
@@ -140,20 +140,20 @@ date_trunc(timestamp *dt, const str *sca
} }
if ( strcmp(*scale, "week") == 0){
- if (timestamp_isnil(*bt)) {
+ if (is_timestamp_nil(*bt)) {
*dt = *timestamp_nil;
} else {
ts = *bt;
ts.msecs = 0;
MTIMEdate_extract_ymd(&y, &m, &d, &ts.days);
MTIMEdate_extract_dayofweek(&dow, &ts.days);
- d = d - dow + 1;
+ d = d - dow - 1;
MTIMEdate_create(&ts.days, &y, &m, &d);
*dt = ts;
} }
if ( strcmp(*scale, "month") == 0){
- if (timestamp_isnil(*bt)) {
+ if (is_timestamp_nil(*bt)) {
*dt = *timestamp_nil;
} else {
ts = *bt;
@@ -164,7 +164,7 @@ date_trunc(timestamp *dt, const str *sca
} }
if ( strcmp(*scale, "quarter") == 0){
- if (timestamp_isnil(*bt)) {
+ if (is_timestamp_nil(*bt)) {
*dt = *timestamp_nil;
} else {
ts = *bt;
@@ -176,7 +176,7 @@ date_trunc(timestamp *dt, const str *sca
} }
if ( strcmp(*scale, "year") == 0){
- if (timestamp_isnil(*bt)) {
+ if (is_timestamp_nil(*bt)) {
*dt = *timestamp_nil;
} else {
ts = *bt;
@@ -187,7 +187,7 @@ date_trunc(timestamp *dt, const str *sca
} }
if ( strcmp(*scale, "decade") == 0){
- if (timestamp_isnil(*bt)) {
+ if (is_timestamp_nil(*bt)) {
*dt = *timestamp_nil;
} else {
ts = *bt;
@@ -199,7 +199,7 @@ date_trunc(timestamp *dt, const str *sca
} }
if ( strcmp(*scale, "century") == 0){
- if (timestamp_isnil(*bt)) {
+ if (is_timestamp_nil(*bt)) {
*dt = *timestamp_nil;
} else {
ts = *bt;
@@ -211,7 +211,7 @@ date_trunc(timestamp *dt, const str *sca
} }
if ( strcmp(*scale, "millenium") == 0){
- if (timestamp_isnil(*bt)) {
+ if (is_timestamp_nil(*bt)) {
*dt = *timestamp_nil;
} else {
ts = *bt;
diff --git a/sql/test/BugTracker-2019/Tests/date_trunc.sql
b/sql/test/BugTracker-2019/Tests/date_trunc.sql
--- a/sql/test/BugTracker-2019/Tests/date_trunc.sql
+++ b/sql/test/BugTracker-2019/Tests/date_trunc.sql
@@ -1,16 +1,16 @@
-select timestamp '2019-02-17 02:08:12.345678';
+select timestamp '2119-02-17 02:08:12.345678';
-select date_trunc('microseconds', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('milliseconds', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('second', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('minute', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('hour', timestamp '2019-02-17 02:08:12.345678');
+select date_trunc('microseconds', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('milliseconds', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('second', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('minute', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('hour', timestamp '2119-02-17 02:08:12.345678');
-select date_trunc('day', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('week', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('month', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('quarter', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('year', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('decade', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('century', timestamp '2019-02-17 02:08:12.345678');
-select date_trunc('millennium', timestamp '2019-02-17 02:08:12.345678');
+select date_trunc('day', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('week', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('month', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('quarter', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('year', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('decade', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('century', timestamp '2119-02-17 02:08:12.345678');
+select date_trunc('millenium', timestamp '2119-02-17 02:08:12.345678');
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list