1. 01 May, 2011 3 commits
    • Peter Eisentraut's avatar
      Catch errors in for loop in makefile · 5c436a79
      Peter Eisentraut authored
      Add "|| exit" so that the rule aborts when a command fails.
      5c436a79
    • Peter Eisentraut's avatar
      Rewrite installation makefile rules without for loops · b106195b
      Peter Eisentraut authored
      install-sh can install multiple files at once, so for loops are not
      necessary.  This was already changed for the rest of the code some
      time ago, but pgxs.mk was apparently forgotten, and the obsolete
      coding style has now been copied to the PLs as well.
      
      This also fixes the problem that the for loops in question did not
      catch errors.
      b106195b
    • Tom Lane's avatar
      Make CLUSTER lock the old table's toast table before copying data. · 83b75849
      Tom Lane authored
      We must lock out autovacuuming of the old toast table before computing the
      OldestXmin horizon we will use.  Otherwise, autovacuum could start on the
      toast table later, compute a later OldestXmin horizon, and remove as DEAD
      toast tuples that we still need (because we think their parent tuples are
      only RECENTLY_DEAD).  Per further thought about bug #5998.
      83b75849
  2. 30 Apr, 2011 1 commit
  3. 29 Apr, 2011 2 commits
    • Tom Lane's avatar
      Remove special case for xmin == xmax in HeapTupleSatisfiesVacuum(). · 44e4bbf7
      Tom Lane authored
      VACUUM was willing to remove a committed-dead tuple immediately if it was
      deleted by the same transaction that inserted it.  The idea is that such a
      tuple could never have been visible to any other transaction, so we don't
      need to keep it around to satisfy MVCC snapshots.  However, there was
      already an exception for tuples that are part of an update chain, and this
      exception created a problem: we might remove TOAST tuples (which are never
      part of an update chain) while their parent tuple stayed around (if it was
      part of an update chain).  This didn't pose a problem for most things,
      since the parent tuple is indeed dead: no snapshot will ever consider it
      visible.  But MVCC-safe CLUSTER had a problem, since it will try to copy
      RECENTLY_DEAD tuples to the new table.  It then has to copy their TOAST
      data too, and would fail if VACUUM had already removed the toast tuples.
      
      Easiest fix is to get rid of the special case for xmin == xmax.  This may
      delay reclaiming dead space for a little bit in some cases, but it's by far
      the most reliable way to fix the issue.
      
      Per bug #5998 from Mark Reid.  Back-patch to 8.3, which is the oldest
      version with MVCC-safe CLUSTER.
      44e4bbf7
    • Tom Lane's avatar
      Rewrite pg_size_pretty() to avoid compiler bug. · fd2e2d09
      Tom Lane authored
      Convert it to use successive shifts right instead of increasing a divisor.
      This is probably a tad more efficient than the original coding, and it's
      nicer-looking than the previous patch because we don't need a special case
      to avoid overflow in the last branch.  But the real reason to do it is to
      avoid a Solaris compiler bug, as per results from buildfarm member moa.
      fd2e2d09
  4. 28 Apr, 2011 4 commits
  5. 27 Apr, 2011 13 commits
  6. 26 Apr, 2011 6 commits
    • Tom Lane's avatar
      Rephrase some not-supported error messages in pg_hba.conf processing. · 71e70835
      Tom Lane authored
      In a couple of places we said "not supported on this platform" for cases
      that aren't really platform-specific, but could depend on configuration
      options such as --with-openssl.  Use "not supported by this build" instead,
      as that doesn't convey the impression that you can't fix it without moving
      to another OS; that's also more consistent with the wording used for an
      identical error case in guc.c.
      
      No back-patch, as the clarity gain is small enough to not be worth
      burdening translators with back-branch changes.
      71e70835
    • Tom Lane's avatar
      Complain if pg_hba.conf contains "hostssl" but SSL is disabled. · c464a065
      Tom Lane authored
      Most commenters agreed that this is more friendly than silently failing
      to match the line during actual connection attempts.  Also, this will
      prevent corner cases that might arise when trying to handle such a line
      when the SSL code isn't turned on.  An example is that specifying
      clientcert=1 in such a line would formerly result in a completely
      misleading complaint that root.crt wasn't present, as seen in a recent
      report from Marc-Andre Laverdiere.  While we could have instead fixed
      that specific behavior, it seems likely that we'd have a continuing stream
      of such bizarre behaviors if we keep on allowing hostssl lines when SSL is
      disabled.
      
      Back-patch to 8.4, where clientcert was introduced.  Earlier versions don't
      have this specific issue, and the code is enough different to make this
      patch not applicable without more work than it seems worth.
      c464a065
    • Bruce Momjian's avatar
    • Bruce Momjian's avatar
      Now that pg_upgrade uses -w in pg_ctl, remove loop that retried testing · 6c4d2bd9
      Bruce Momjian authored
      the connection;  also restructure the libpq connection code.
      
      This patch also removes the unused variable postmasterPID and fixes a
      libpq structure leak that was in the testing loop.
      6c4d2bd9
    • Bruce Momjian's avatar
      In pg_upgrade, avoid one start/stop of the postmaster; use the -w · 44091442
      Bruce Momjian authored
      (wait) flag for pg_ctl start/stop;  remove the unused "quiet" flag in
      the functions for starting/stopping the postmaster.
      44091442
    • Tom Lane's avatar
      Remove incorrect HINT for use of ALTER FOREIGN TABLE on the wrong relkind. · 6dab96ab
      Tom Lane authored
      Per discussion, removing the hint seems better than correcting it because
      the adjacent analogous cases in RenameRelation don't have any hints, and
      nobody seems to have missed 'em.
      
      Shigeru Hanada
      6dab96ab
  7. 25 Apr, 2011 11 commits