1. 26 Sep, 2007 6 commits
  2. 25 Sep, 2007 4 commits
    • Tom Lane's avatar
      Change on-disk representation of NUMERIC datatype so that the sign_dscale · f828f878
      Tom Lane authored
      word comes before the weight instead of after.  This will allow future
      binary-compatible extension of the representation to support compact formats,
      as discussed on pgsql-hackers around 2007/06/18.  The reason to do it now is
      that we've already pretty well broken any chance of simple in-place upgrade
      from 8.2 to 8.3, but it's possible that 8.3 to 8.4 (or whenever we get around
      to squeezing NUMERIC) could otherwise be data-compatible.
      f828f878
    • Tom Lane's avatar
      Dept. of second thoughts: fix loop in BgBufferSync so that the exit when · 7a315a09
      Tom Lane authored
      bgwriter_lru_maxpages is exceeded leaves the loop variables in the
      expected state.  In the original coding, we'd fail to advance
      next_to_clean, causing that buffer to be probably-uselessly rechecked next
      time, and also have an off-by-one idea of the number of buffers scanned.
      7a315a09
    • Tom Lane's avatar
      Just-in-time background writing strategy. This code avoids re-scanning · 6f5c38dc
      Tom Lane authored
      buffers that cannot possibly need to be cleaned, and estimates how many
      buffers it should try to clean based on moving averages of recent allocation
      requests and density of reusable buffers.  The patch also adds a couple
      more columns to pg_stat_bgwriter to help measure the effectiveness of the
      bgwriter.
      
      Greg Smith, building on his own work and ideas from several other people,
      in particular a much older patch from Itagaki Takahiro.
      6f5c38dc
    • Peter Eisentraut's avatar
      Small string tweaks · 588901df
      Peter Eisentraut authored
      588901df
  3. 24 Sep, 2007 8 commits
  4. 23 Sep, 2007 8 commits
  5. 22 Sep, 2007 10 commits
  6. 21 Sep, 2007 4 commits
    • Tom Lane's avatar
      Fix regex, LIKE, and some other second-rank text-manipulation functions · 7583f9a7
      Tom Lane authored
      to not cause needless copying of text datums that have 1-byte headers.
      Greg Stark, in response to performance gripe from Guillaume Smet and
      ITAGAKI Takahiro.
      7583f9a7
    • Tom Lane's avatar
      Improve handling of prune/no-prune decisions by storing a page's oldest · cc59049d
      Tom Lane authored
      unpruned XMAX in its header.  At the cost of 4 bytes per page, this keeps us
      from performing heap_page_prune when there's no chance of pruning anything.
      Seems to be necessary per Heikki's preliminary performance testing.
      cc59049d
    • Tom Lane's avatar
      Change tqual.c tests to use !TransactionIdIsCurrentTransactionId, rather than · 386a5d42
      Tom Lane authored
      TransactionIdDidAbort, when handling the case that xmin is one of the current
      transaction's XIDs and the tuple has been deleted.  xmax must also be one of
      the current transaction's XIDs, since no one else can see it yet, and it's
      cheaper to look at local state than shared state to find out if xmax aborted.
      Per an idea of Heikki's.
      386a5d42
    • Tom Lane's avatar
      Make some simple performance improvements in TransactionIdIsInProgress(). · da072ab2
      Tom Lane authored
      For XIDs of our own transaction and subtransactions, it's cheaper to ask
      TransactionIdIsCurrentTransactionId() than to look in shared memory.
      Also, the xids[] work array is always the same size within any given
      process, so malloc it just once instead of doing a palloc/pfree on every
      call; aside from being faster this lets us get rid of some goto's, since
      we no longer have any end-of-function pfree to do.  Both ideas by Heikki.
      da072ab2