aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/variable.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-06-05 01:48:55 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-06-05 01:48:55 +0000
commit39c939895622038f491f3a6a8ac9919eded49cb2 (patch)
treef54fdabca22e8b388be23c6c4b882be797ea4f3c /src/backend/commands/variable.c
parentb38bcb2fa0de59ba09ccbb03d4ae9d65cbbf5326 (diff)
downloadpostgresql-39c939895622038f491f3a6a8ac9919eded49cb2.tar.gz
postgresql-39c939895622038f491f3a6a8ac9919eded49cb2.zip
Code for SET/SHOW TIME ZONE with a fixed-interval timezone was not
prepared for HAVE_INT64_TIMESTAMP. Per report from Guillaume Beaudoin.
Diffstat (limited to 'src/backend/commands/variable.c')
-rw-r--r--src/backend/commands/variable.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c
index 4fbe541cf41..7261c8e49b4 100644
--- a/src/backend/commands/variable.c
+++ b/src/backend/commands/variable.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/variable.c,v 1.88.2.1 2004/08/11 21:10:50 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/variable.c,v 1.88.2.2 2005/06/05 01:48:55 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -454,7 +454,11 @@ assign_timezone(const char *value, bool doit, bool interactive)
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;
}
pfree(interval);
@@ -608,7 +612,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)));