From db899ea2bbee38aed367c522f898a3e0fe1ceffd Mon Sep 17 00:00:00 2001
From: Kyotaro Horiguchi <horiguchi.kyotaro@lab.ntt.co.jp>
Date: Tue, 4 Apr 2017 16:44:03 +0900
Subject: [PATCH 2/2] sanity check code

---
 src/backend/utils/adt/timestamp.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c
index 2411bd7..47af4cf 100644
--- a/src/backend/utils/adt/timestamp.c
+++ b/src/backend/utils/adt/timestamp.c
@@ -2385,6 +2385,20 @@ interval_cmp_value(const Interval *interval)
 	/* add dayfraction */
 	LINEARINTERVAL_ADD_INT65(span, dayfraction, 0);
 
+	{
+		__int128 v1 = (((__int128)span.hi)<<64) + (__int128)span.lo;
+		__int128 v2 = (__int128)interval->time;
+		v2 += (__int128)interval->month * INT64CONST(30) * USECS_PER_DAY;
+		v2 += (__int128)interval->day * INT64CONST(24) * USECS_PER_HOUR;
+		if (v1 != v2)
+			elog(LOG, "#### %lx:%lx != %lx:%lx for (%ld, %d, %d)",
+				 (uint64)(v1>>64),
+				 (uint64)(v1 & 0xffffffffffffffff),
+				 (uint64)(v2>>64),
+				 (uint64)(v2 & 0xffffffffffffffff),
+				interval->time, interval->month, interval->day);
+	}
+
 	return span;
 }
 #endif
-- 
2.9.2

