1. 09 Feb, 2007 10 commits
    • Bruce Momjian's avatar
      Remove blank lines in code. · d7fee591
      Bruce Momjian authored
      d7fee591
    • Bruce Momjian's avatar
      bc6fb543
    • Bruce Momjian's avatar
      Add blank line. · 1ad2f04b
      Bruce Momjian authored
      1ad2f04b
    • Bruce Momjian's avatar
    • Bruce Momjian's avatar
      Done! · 19d561cb
      Bruce Momjian authored
      < * 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
      19d561cb
    • Tom Lane's avatar
      Combine cmin and cmax fields of HeapTupleHeaders into a single field, by · c3983003
      Tom Lane authored
      keeping private state in each backend that has inserted and deleted the same
      tuple during its current top-level transaction.  This is sufficient since
      there is no need to be able to determine the cmin/cmax from any other
      transaction.  This gets us back down to 23-byte headers, removing a penalty
      paid in 8.0 to support subtransactions.  Patch by Heikki Linnakangas, with
      minor revisions by moi, following a design hashed out awhile back on the
      pghackers list.
      c3983003
    • Bruce Momjian's avatar
      Remove blank line from C code. · acb34166
      Bruce Momjian authored
      acb34166
    • Bruce Momjian's avatar
      Update: · aba039df
      Bruce Momjian authored
      < * Consider placing all sequences in a single table
      > * Consider placing all sequences in a single table, or create a system
      >   view
      aba039df
    • Bruce Momjian's avatar
      Update: · 5bdf44c6
      Bruce Momjian authored
      < * Consider placing all sequences in a single table, now that system
      <   tables are full transactional
      > * Consider placing all sequences in a single table
      5bdf44c6
    • Bruce Momjian's avatar
      Add: · 18d36f9e
      Bruce Momjian authored
      > * Consider placing all sequences in a single table, now that system
      >   tables are full transactional
      18d36f9e
  2. 08 Feb, 2007 17 commits
  3. 07 Feb, 2007 10 commits
  4. 06 Feb, 2007 3 commits