postgresql/src/backend/commands
Tom Lane 60b2444cc3 Add code to prevent transaction ID wraparound by enforcing a safe limit
in GetNewTransactionId().  Since the limit value has to be computed
before we run any real transactions, this requires adding code to database
startup to scan pg_database and determine the oldest datfrozenxid.
This can conveniently be combined with the first stage of an attack on
the problem that the 'flat file' copies of pg_shadow and pg_group are
not properly updated during WAL recovery.  The code I've added to
startup resides in a new file src/backend/utils/init/flatfiles.c, and
it is responsible for rewriting the flat files as well as initializing
the XID wraparound limit value.  This will eventually allow us to get
rid of GetRawDatabaseInfo too, but we'll need an initdb so we can add
a trigger to pg_database.
2005-02-20 02:22:07 +00:00
..
Makefile Tablespaces. Alternate database locations are dead, long live tablespaces. 2004-06-18 06:14:31 +00:00
aggregatecmds.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
alter.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
analyze.c Fix ANALYZE to accumulate some minimal statistics for an all-null column. 2005-02-11 00:41:12 +00:00
async.c Change heap_modifytuple() to require a TupleDesc rather than a 2005-01-27 23:24:11 +00:00
cluster.c Repair CLUSTER failure after ALTER TABLE SET WITHOUT OIDS. Turns out 2005-02-06 20:19:08 +00:00
comment.c Change heap_modifytuple() to require a TupleDesc rather than a 2005-01-27 23:24:11 +00:00
conversioncmds.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
copy.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
dbcommands.c Add code to prevent transaction ID wraparound by enforcing a safe limit 2005-02-20 02:22:07 +00:00
define.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
explain.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
functioncmds.c Change heap_modifytuple() to require a TupleDesc rather than a 2005-01-27 23:24:11 +00:00
indexcmds.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
lockcmds.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
opclasscmds.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
operatorcmds.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
portalcmds.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
prepare.c Update copyrights that were missed. 2005-01-01 05:43:09 +00:00
proclang.c ALTER LANGUAGE RENAME has never worked. Per Sergey Yatskevich. 2005-02-14 06:17:44 +00:00
schemacmds.c Change heap_modifytuple() to require a TupleDesc rather than a 2005-01-27 23:24:11 +00:00
sequence.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
tablecmds.c ALTER TABLE ADD COLUMN exhibits a significant memory leak when adding a 2005-02-09 23:17:26 +00:00
tablespace.c Change heap_modifytuple() to require a TupleDesc rather than a 2005-01-27 23:24:11 +00:00
trigger.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
typecmds.c Change heap_modifytuple() to require a TupleDesc rather than a 2005-01-27 23:24:11 +00:00
user.c Add code to prevent transaction ID wraparound by enforcing a safe limit 2005-02-20 02:22:07 +00:00
vacuum.c Add code to prevent transaction ID wraparound by enforcing a safe limit 2005-02-20 02:22:07 +00:00
vacuumlazy.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
variable.c Tag appropriate files for rc3 2004-12-31 22:04:05 +00:00
view.c Add support for temporary views, including documentation and regression 2005-02-02 06:36:02 +00:00