1. 15 6月, 2011 10 次提交
  2. 14 6月, 2011 12 次提交
  3. 13 6月, 2011 4 次提交
  4. 12 6月, 2011 4 次提交
  5. 11 6月, 2011 6 次提交
    • B
      Add C comment mentioning pg_stat_activity.procpid should have been · a4bebdd9
      Bruce Momjian 提交于
      called 'pid'.
      a4bebdd9
    • T
      Work around gcc 4.6.0 bug that breaks WAL replay. · c2ba0121
      Tom Lane 提交于
      ReadRecord's habit of using both direct references to tmpRecPtr and
      references to *RecPtr (which is pointing at tmpRecPtr) triggers an
      optimization bug in gcc 4.6.0, which apparently has forgotten about
      aliasing rules.  Avoid the compiler bug, and make the code more readable
      to boot, by getting rid of the direct references.  Improve the comments
      while at it.
      
      Back-patch to all supported versions, in case they get built with 4.6.0.
      
      Tom Lane, with some cosmetic suggestions from Alex Hunsaker
      c2ba0121
    • H
      Fix locking while setting flags in MySerializableXact. · cb2d158c
      Heikki Linnakangas 提交于
      Even if a flag is modified only by the backend owning the transaction, it's
      not safe to modify it without a lock. Another backend might be setting or
      clearing a different flag in the flags field concurrently, and that
      operation might be lost because setting or clearing a bit in a word is not
      atomic.
      
      Make did-write flag a simple backend-private boolean variable, because it
      was only set or tested in the owning backend (except when committing a
      prepared transaction, but it's not worthwhile to optimize for the case of a
      read-only prepared transaction). This also eliminates the need to add
      locking where that flag is set.
      
      Also, set the did-write flag when doing DDL operations like DROP TABLE or
      TRUNCATE -- that was missed earlier.
      cb2d158c
    • A
      Add comment about pg_ctl stop · d69149ed
      Alvaro Herrera 提交于
      d69149ed
    • A
      Use "transient" files for blind writes, take 2 · fba105b1
      Alvaro Herrera 提交于
      "Blind writes" are a mechanism to push buffers down to disk when
      evicting them; since they may belong to different databases than the one
      a backend is connected to, the backend does not necessarily have a
      relation to link them to, and thus no way to blow them away.  We were
      keeping those files open indefinitely, which would cause a problem if
      the underlying table was deleted, because the operating system would not
      be able to reclaim the disk space used by those files.
      
      To fix, have bufmgr mark such files as transient to smgr; the lower
      layer is allowed to close the file descriptor when the current
      transaction ends.  We must be careful to have any other access of the
      file to remove the transient markings, to prevent unnecessary expensive
      system calls when evicting buffers belonging to our own database (which
      files we're likely to require again soon.)
      
      This commit fixes a bug in the previous one, which neglected to cleanly
      handle the LRU ring that fd.c uses to manage open files, and caused an
      unacceptable failure just before beta2 and was thus reverted.
      fba105b1
    • A
      3d114b63
  6. 10 6月, 2011 4 次提交