date64.patch
text/x-patch
Index: src/backend/utils/adt/date.c
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/backend/utils/adt/date.c,v
retrieving revision 1.97
diff -c -r1.97 date.c
*** src/backend/utils/adt/date.c 21 May 2004 05:08:01 -0000 1.97
--- src/backend/utils/adt/date.c 30 May 2004 21:11:56 -0000
***************
*** 1461,1467 ****
}
else if (result < 0)
{
! days = (-result + INT64CONST(86400000000 - 1)) / INT64CONST(86400000000);
result += days * INT64CONST(86400000000);
}
#else
--- 1461,1467 ----
}
else if (result < 0)
{
! days = (-result + INT64CONST(86400000000) - 1) / INT64CONST(86400000000);
result += days * INT64CONST(86400000000);
}
#else
Index: src/backend/utils/adt/datetime.c
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/backend/utils/adt/datetime.c,v
retrieving revision 1.128
diff -c -r1.128 datetime.c
*** src/backend/utils/adt/datetime.c 21 May 2004 05:08:01 -0000 1.128
--- src/backend/utils/adt/datetime.c 30 May 2004 21:11:56 -0000
***************
*** 1209,1215 ****
tmask |= DTK_TIME_M;
#ifdef HAVE_INT64_TIMESTAMP
! dt2time((time * 86400000000),
&tm->tm_hour, &tm->tm_min, &tm->tm_sec, fsec);
#else
dt2time((time * 86400),
--- 1209,1215 ----
tmask |= DTK_TIME_M;
#ifdef HAVE_INT64_TIMESTAMP
! dt2time((time * INT64CONST(86400000000)),
&tm->tm_hour, &tm->tm_min, &tm->tm_sec, fsec);
#else
dt2time((time * 86400),
***************
*** 1960,1966 ****
tmask |= DTK_TIME_M;
#ifdef HAVE_INT64_TIMESTAMP
! dt2time((time * 86400000000),
&tm->tm_hour, &tm->tm_min, &tm->tm_sec, fsec);
#else
dt2time((time * 86400),
--- 1960,1966 ----
tmask |= DTK_TIME_M;
#ifdef HAVE_INT64_TIMESTAMP
! dt2time((time * INT64CONST(86400000000)),
&tm->tm_hour, &tm->tm_min, &tm->tm_sec, fsec);
#else
dt2time((time * 86400),
Index: src/interfaces/ecpg/pgtypeslib/dt_common.c
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/ecpg/pgtypeslib/dt_common.c,v
retrieving revision 1.15
diff -c -r1.15 dt_common.c
*** src/interfaces/ecpg/pgtypeslib/dt_common.c 7 May 2004 00:24:58 -0000 1.15
--- src/interfaces/ecpg/pgtypeslib/dt_common.c 30 May 2004 21:11:58 -0000
***************
*** 2255,2261 ****
tmask |= DTK_TIME_M;
#ifdef HAVE_INT64_TIMESTAMP
! dt2time((time * 86400000000), &tm->tm_hour, &tm->tm_min, &tm->tm_sec, fsec);
#else
dt2time((time * 86400), &tm->tm_hour, &tm->tm_min, &tm->tm_sec, fsec);
#endif
--- 2255,2261 ----
tmask |= DTK_TIME_M;
#ifdef HAVE_INT64_TIMESTAMP
! dt2time((time * INT64CONST(86400000000)), &tm->tm_hour, &tm->tm_min, &tm->tm_sec, fsec);
#else
dt2time((time * 86400), &tm->tm_hour, &tm->tm_min, &tm->tm_sec, fsec);
#endif