if (doit)
{
/* Here we change from SQL to Unix sign convention */
+#ifdef HAVE_INT64_TIMESTAMP
+ CTimeZone = -(interval->time / INT64CONST(1000000));
+#else
CTimeZone = -interval->time;
+#endif
HasCTZSet = true;
}
* pg_timezone_initialize() will eventually select a default
* value from the environment.
*/
- const char *curzone = pg_get_current_timezone();
+ if (doit)
+ {
+ const char *curzone = pg_get_current_timezone();
- if (curzone)
- value = curzone;
+ if (curzone)
+ value = curzone;
+ }
}
else
{
{
Interval interval;
- interval. month = 0;
- interval. time = -CTimeZone;
+ interval.month = 0;
+#ifdef HAVE_INT64_TIMESTAMP
+ interval.time = -(CTimeZone * INT64CONST(1000000));
+#else
+ interval.time = -CTimeZone;
+#endif
tzn = DatumGetCString(DirectFunctionCall1(interval_out,
IntervalPGetDatum(&interval)));