postgresql/src/backend/utils
Alvaro Herrera 5da9da71c4 Improve snapshot manager by keeping explicit track of snapshots.
There are two ways to track a snapshot: there's the "registered" list, which
is used for arbitrary long-lived snapshots; and there's the "active stack",
which is used for the snapshot that is considered "active" at any time.
This also allows users of snapshots to stop worrying about snapshot memory
allocation and freeing, and about using PG_TRY blocks around ActiveSnapshot
assignment.  This is all done automatically now.

As a consequence, this allows us to reset MyProc->xmin when there are no
more snapshots registered in the current backend, reducing the impact that
long-running transactions have on VACUUM.
2008-05-12 20:02:02 +00:00
..
adt Improve snapshot manager by keeping explicit track of snapshots. 2008-05-12 20:02:02 +00:00
cache Improve snapshot manager by keeping explicit track of snapshots. 2008-05-12 20:02:02 +00:00
error Add a new ereport auxiliary function errdetail_log(), which works the same as 2008-03-24 18:08:47 +00:00
fmgr Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
hash Reduce the need for frontend programs to include "postgres.h" by refactoring 2008-03-27 03:57:34 +00:00
init Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
mb Clean up a few places where Datums were being treated as pointers without 2008-04-12 23:21:04 +00:00
misc Convert wal_sync_method to guc enum. 2008-05-12 08:35:05 +00:00
mmgr Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
resowner Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
sort Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
time Improve snapshot manager by keeping explicit track of snapshots. 2008-05-12 20:02:02 +00:00
.cvsignore Cleanup to ensure good state of derived files in tarballs. 2000-06-09 02:38:36 +00:00
Gen_dummy_probes.sed Enable probes to work with Mac OS X Leopard and other OSes that will 2008-03-17 19:44:41 +00:00
Gen_fmgrtab.sh Make the AWK default value also take effect if $AWK is an empty string. 2008-05-02 14:16:24 +00:00
Makefile Enable probes to work with Mac OS X Leopard and other OSes that will 2008-03-17 19:44:41 +00:00
probes.d Correct two more copyrights found by updated script. 2008-01-02 02:42:06 +00:00