postgresql/src/backend/commands
Bruce Momjian aa8bdab272 Attached patch gets rid of the global timezone in the following steps:
* 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
2005-04-19 03:13:59 +00:00
..
Makefile Tablespaces. Alternate database locations are dead, long live tablespaces. 2004-06-18 06:14:31 +00:00
aggregatecmds.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
alter.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
analyze.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
async.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
cluster.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
comment.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
conversioncmds.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
copy.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
dbcommands.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
define.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
explain.c Create a new 'MultiExecProcNode' call API for plan nodes that don't 2005-04-16 20:07:35 +00:00
functioncmds.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
indexcmds.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
lockcmds.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
opclasscmds.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
operatorcmds.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
portalcmds.c PersistHoldablePortal must establish the correct value for ActiveSnapshot 2005-04-11 15:59:34 +00:00
prepare.c Update copyrights that were missed. 2005-01-01 05:43:09 +00:00
proclang.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
schemacmds.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
sequence.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
tablecmds.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
tablespace.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
trigger.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
typecmds.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
user.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
vacuum.c Completion of project to use fixed OIDs for all system catalogs and 2005-04-14 20:03:27 +00:00
vacuumlazy.c Remove lazy_update_relstats; go back to having VACUUM just record the 2005-03-25 22:51:31 +00:00
variable.c Attached patch gets rid of the global timezone in the following steps: 2005-04-19 03:13:59 +00:00
view.c First phase of project to use fixed OIDs for all system catalogs and 2005-04-14 01:38:22 +00:00