mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Code for SET/SHOW TIME ZONE with a fixed-interval timezone was not
prepared for HAVE_INT64_TIMESTAMP. Per report from Guillaume Beaudoin.
This commit is contained in:
		@@ -9,7 +9,7 @@
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * IDENTIFICATION
 | 
					 * 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)
 | 
							if (doit)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 | 
					#ifdef HAVE_INT64_TIMESTAMP
 | 
				
			||||||
 | 
								CTimeZone = interval->time / INT64CONST(1000000);
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
			CTimeZone = interval->time;
 | 
								CTimeZone = interval->time;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
			HasCTZSet = true;
 | 
								HasCTZSet = true;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		pfree(interval);
 | 
							pfree(interval);
 | 
				
			||||||
@@ -394,7 +398,11 @@ show_timezone(void)
 | 
				
			|||||||
		Interval	interval;
 | 
							Interval	interval;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		interval.month = 0;
 | 
							interval.month = 0;
 | 
				
			||||||
 | 
					#ifdef HAVE_INT64_TIMESTAMP
 | 
				
			||||||
 | 
							interval.time = CTimeZone * INT64CONST(1000000);
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
		interval.time = CTimeZone;
 | 
							interval.time = CTimeZone;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		tzn = DatumGetCString(DirectFunctionCall1(interval_out,
 | 
							tzn = DatumGetCString(DirectFunctionCall1(interval_out,
 | 
				
			||||||
										  IntervalPGetDatum(&interval)));
 | 
															  IntervalPGetDatum(&interval)));
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user