Skip to content
Snippets Groups Projects
  • Bruce Momjian's avatar
    aa8bdab2
    Attached patch gets rid of the global timezone in the following steps: · aa8bdab2
    Bruce Momjian authored
    * Changes the APIs to the timezone functions to take a pg_tz pointer as
    an argument, representing the timezone to use for the selected
    operation.
    
    * Adds a global_timezone variable that represents the current timezone
    in the backend as set by SET TIMEZONE (or guc, or env, etc).
    
    * Implements a hash-table cache of loaded tables, so we don't have to
    read and parse the TZ file everytime we change a timezone. While not
    necesasry now (we don't change timezones very often), I beleive this
    will be necessary (or at least good) when "multiple timezones in the
    same query" is eventually implemented. And code-wise, this was the time
    to do it.
    
    
    There are no user-visible changes at this time. Implementing the
    "multiple zones in one query" is a later step...
    
    This also gets rid of some of the cruft needed to "back out a timezone
    change", since we previously couldn't check a timezone unless it was
    activated first.
    
    Passes regression tests on win32, linux (slackware 10) and solaris x86.
    
    Magnus Hagander
    aa8bdab2
    History
    Attached patch gets rid of the global timezone in the following steps:
    Bruce Momjian authored
    * Changes the APIs to the timezone functions to take a pg_tz pointer as
    an argument, representing the timezone to use for the selected
    operation.
    
    * Adds a global_timezone variable that represents the current timezone
    in the backend as set by SET TIMEZONE (or guc, or env, etc).
    
    * Implements a hash-table cache of loaded tables, so we don't have to
    read and parse the TZ file everytime we change a timezone. While not
    necesasry now (we don't change timezones very often), I beleive this
    will be necessary (or at least good) when "multiple timezones in the
    same query" is eventually implemented. And code-wise, this was the time
    to do it.
    
    
    There are no user-visible changes at this time. Implementing the
    "multiple zones in one query" is a later step...
    
    This also gets rid of some of the cruft needed to "back out a timezone
    change", since we previously couldn't check a timezone unless it was
    activated first.
    
    Passes regression tests on win32, linux (slackware 10) and solaris x86.
    
    Magnus Hagander