1. 14 Jun, 2011 1 commit
  2. 13 Jun, 2011 9 commits
  3. 12 Jun, 2011 4 commits
  4. 11 Jun, 2011 2 commits
  5. 10 Jun, 2011 7 commits
    • Tom Lane's avatar
      Work around gcc 4.6.0 bug that breaks WAL replay. · c2ba0121
      Tom Lane authored
      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
    • Heikki Linnakangas's avatar
      Fix locking while setting flags in MySerializableXact. · cb2d158c
      Heikki Linnakangas authored
      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
    • Alvaro Herrera's avatar
      Add comment about pg_ctl stop · d69149ed
      Alvaro Herrera authored
      d69149ed
    • Alvaro Herrera's avatar
      Use "transient" files for blind writes, take 2 · fba105b1
      Alvaro Herrera authored
      "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
    • Alvaro Herrera's avatar
    • Heikki Linnakangas's avatar
      Small comment fixes and enhancements. · c79c570b
      Heikki Linnakangas authored
      c79c570b
    • Bruce Momjian's avatar
      bb8f0c4b
  6. 09 Jun, 2011 14 commits
  7. 08 Jun, 2011 3 commits
    • Tom Lane's avatar
      Make citext's equality and hashing functions collation-insensitive. · 3ebc061c
      Tom Lane authored
      This is an ugly hack to get around the fact that significant parts of the
      core backend assume they don't need to worry about passing collation to
      equality and hashing functions.  That's true for the core string datatypes,
      but citext should ideally have equality behavior that depends on the
      specified collation's LC_CTYPE.  However, there's no chance of fixing the
      core before 9.2, so we'll have to live with this compromise arrangement for
      now.  Per bug #6053 from Regina Obe.
      
      The code changes in this commit should be reverted in full once the core
      code is up to speed, but be careful about reverting the docs changes:
      I fixed a number of obsolete statements while at it.
      3ebc061c
    • Peter Eisentraut's avatar
      Reorder pg_ctl promote after pg_ctl status · 1bcdd663
      Peter Eisentraut authored
      Since start/stop/restart/reload/status is a kind of standard command
      set, it seems odd to insert the special-purpose "promote" in between
      the closely related "restart" and "reload".  So put it after "status"
      in code and documentation.
      
      Put the documentation of the -U option in some sensible place.
      
      Rewrite the synopsis sentence in help and documentation to make it
      less of a growing mouthful.
      1bcdd663
    • Tom Lane's avatar
      Allow domains over arrays to match ANYARRAY parameters again. · b7e8feb3
      Tom Lane authored
      This use-case was broken in commit 529cb267
      of 2010-10-21, in which I commented "For the moment, we just forbid such
      matching.  We might later wish to insert an automatic downcast to the
      underlying array type, but such a change should also change matching of
      domains to ANYELEMENT for consistency".  We still lack consensus about what
      to do with ANYELEMENT; but not matching ANYARRAY is a clear loss of
      functionality compared to prior releases, so let's go ahead and make that
      happen.  Per complaint from Regina Obe and extensive subsequent discussion.
      b7e8feb3