Code for SET/SHOW TIME ZONE with a fixed-interval timezone was not
authorTom Lane <[email protected]>
Sun, 5 Jun 2005 01:49:06 +0000 (01:49 +0000)
committerTom Lane <[email protected]>
Sun, 5 Jun 2005 01:49:06 +0000 (01:49 +0000)
prepared for HAVE_INT64_TIMESTAMP.  Per report from Guillaume Beaudoin.

src/backend/commands/variable.c

index 572b9ed1066b997a9ead57b8eed011f4d90f91af..ff814c3208f783abea2255e79bb73940572bbc38 100644 (file)
@@ -9,7 +9,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/commands/variable.c,v 1.71.2.2 2003/06/06 16:25:52 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/commands/variable.c,v 1.71.2.3 2005/06/05 01:49:06 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -291,7 +291,11 @@ assign_timezone(const char *value, bool doit, bool interactive)
        }
        if (doit)
        {
+#ifdef HAVE_INT64_TIMESTAMP
+           CTimeZone = interval->time / INT64CONST(1000000);
+#else
            CTimeZone = interval->time;
+#endif
            HasCTZSet = true;
        }
        pfree(interval);
@@ -394,7 +398,11 @@ show_timezone(void)
        Interval    interval;
 
        interval.month = 0;
+#ifdef HAVE_INT64_TIMESTAMP
+       interval.time = CTimeZone * INT64CONST(1000000);
+#else
        interval.time = CTimeZone;
+#endif
 
        tzn = DatumGetCString(DirectFunctionCall1(interval_out,
                                          IntervalPGetDatum(&interval)));