]> granicus.if.org Git - postgresql/commitdiff
Code for SET/SHOW TIME ZONE with a fixed-interval timezone was not
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 5 Jun 2005 01:49:06 +0000 (01:49 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
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)));