From: | momjian(at)postgresql(dot)org (Bruce Momjian) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Done! < * Merge xmin/xmax/cmin/cmax back into three header |
Date: | 2007-02-09 03:37:45 |
Message-ID: | 20070209033745.65CB59FA141@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Done!
< * Merge xmin/xmax/cmin/cmax back into three header fields
<
< Before subtransactions, there used to be only three fields needed to
< store these four values. This was possible because only the current
< transaction looks at the cmin/cmax values. If the current transaction
< created and expired the row the fields stored where xmin (same as
< xmax), cmin, cmax, and if the transaction was expiring a row from a
< another transaction, the fields stored were xmin (cmin was not
< needed), xmax, and cmax. Such a system worked because a transaction
< could only see rows from another completed transaction. However,
< subtransactions can see rows from outer transactions, and once the
< subtransaction completes, the outer transaction continues, requiring
< the storage of all four fields. With subtransactions, an outer
< transaction can create a row, a subtransaction expire it, and when the
< subtransaction completes, the outer transaction still has to have
< proper visibility of the row's cmin, for example, for cursors.
<
< One possible solution is to create a phantom cid which represents a
< cmin/cmax pair and is stored in local memory. Another idea is to
< store both cmin and cmax only in local memory.
<
> * -Merge xmin/xmax/cmin/cmax back into three header fields
Modified Files:
--------------
pgsql/doc:
TODO (r1.2082 -> r1.2083)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/TODO.diff?r1=1.2082&r2=1.2083)
pgsql/doc/src/FAQ:
TODO.html (r1.583 -> r1.584)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/FAQ/TODO.html.diff?r1=1.583&r2=1.584)
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2007-02-09 03:39:39 | pgsql: Add URL for: < > |
Previous Message | Tom Lane | 2007-02-09 03:35:35 | pgsql: Combine cmin and cmax fields of HeapTupleHeaders into a single |