mirror of
https://github.com/postgres/postgres.git
synced 2025-10-21 02:52:47 +03:00
Invent WAL timelines, as per recent discussion, to make point-in-time
recovery more manageable. Also, undo recent change to add FILE_HEADER and WASTED_SPACE records to XLOG; instead make the XLOG page header variable-size with extra fields in the first page of an XLOG file. This should fix the boundary-case bugs observed by Mark Kirkwood. initdb forced due to change of XLOG representation.
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/commands/vacuum.c,v 1.283 2004/07/20 22:56:29 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/commands/vacuum.c,v 1.284 2004/07/21 22:31:21 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -2341,7 +2341,7 @@ repair_frag(VRelStats *vacrelstats, Relation onerel,
|
||||
|
||||
recptr = log_heap_clean(onerel, buf, unused, uncnt);
|
||||
PageSetLSN(page, recptr);
|
||||
PageSetSUI(page, ThisStartUpID);
|
||||
PageSetTLI(page, ThisTimeLineID);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2491,10 +2491,10 @@ move_chain_tuple(Relation rel,
|
||||
if (old_buf != dst_buf)
|
||||
{
|
||||
PageSetLSN(old_page, recptr);
|
||||
PageSetSUI(old_page, ThisStartUpID);
|
||||
PageSetTLI(old_page, ThisTimeLineID);
|
||||
}
|
||||
PageSetLSN(dst_page, recptr);
|
||||
PageSetSUI(dst_page, ThisStartUpID);
|
||||
PageSetTLI(dst_page, ThisTimeLineID);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2611,9 +2611,9 @@ move_plain_tuple(Relation rel,
|
||||
dst_buf, &newtup);
|
||||
|
||||
PageSetLSN(old_page, recptr);
|
||||
PageSetSUI(old_page, ThisStartUpID);
|
||||
PageSetTLI(old_page, ThisTimeLineID);
|
||||
PageSetLSN(dst_page, recptr);
|
||||
PageSetSUI(dst_page, ThisStartUpID);
|
||||
PageSetTLI(dst_page, ThisTimeLineID);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2807,7 +2807,7 @@ vacuum_page(Relation onerel, Buffer buffer, VacPage vacpage)
|
||||
|
||||
recptr = log_heap_clean(onerel, buffer, unused, uncnt);
|
||||
PageSetLSN(page, recptr);
|
||||
PageSetSUI(page, ThisStartUpID);
|
||||
PageSetTLI(page, ThisTimeLineID);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user