1. 20 Feb, 2009 2 commits
    • Andrew Dunstan's avatar
      Reconnect to the right database when using parallel restore with -C. Fixes bug... · fae3083c
      Andrew Dunstan authored
      Reconnect to the right database when using parallel restore with -C. Fixes bug reported by Olivier Prenant
      fae3083c
    • Tom Lane's avatar
      Simplify overcomplicated (and overly restrictive) test to see whether an · 7920ed38
      Tom Lane authored
      IS NULL condition is rendered redundant by detection of an antijoin.
      If we know that a join is an antijoin, then *any* Var coming out of its
      righthand side must be NULL, not only the joining column(s).  Also,
      it's still gonna be null after being passed up through higher joins,
      whether they're outer joins or not.  I was misled by a faulty analogy
      to reduce_outer_joins() in the original coding.  But consider
      
      select * from a left join b on a.x = b.y where b.y is null and b.z is null;
      
      The first IS NULL condition justifies deciding that the join is an antijoin
      (if the = is strict) and then the second one is just plain redundant.
      7920ed38
  2. 19 Feb, 2009 6 commits
  3. 18 Feb, 2009 5 commits
    • Tom Lane's avatar
      Remove the special cases to prevent minus-zero results in float4 and float8 · 86ffdcad
      Tom Lane authored
      unary minus operators.  We weren't attempting to prevent minus zero anywhere
      else; in view of our gradual trend to make the float datatypes more IEEE
      standard compliant, we should allow minus zero here rather than disallow it
      elsewhere.
      
      We don't, however, expect that all platforms will produce minus zero, so
      we need to adjust the one affected regression test to allow both results.
      
      Per discussion of bug #4660.
      
      (In passing, clean up a couple other minor infelicities in float.c.)
      86ffdcad
    • Heikki Linnakangas's avatar
      Start background writer during archive recovery. Background writer now performs · cdd46c76
      Heikki Linnakangas authored
      its usual buffer cleaning duties during archive recovery, and it's responsible
      for performing restartpoints.
      
      This requires some changes in postmaster. When the startup process has done
      all the initialization and is ready to start WAL redo, it signals the
      postmaster to launch the background writer. The postmaster is signaled again
      when the point in recovery is reached where we know that the database is in
      consistent state. Postmaster isn't interested in that at the moment, but
      that's the point where we could let other backends in to perform read-only
      queries. The postmaster is signaled third time when the recovery has ended,
      so that postmaster knows that it's safe to start accepting connections.
      
      The startup process now traps SIGTERM, and performs a "clean" shutdown. If
      you do a fast shutdown during recovery, a shutdown restartpoint is performed,
      like a shutdown checkpoint, and postmaster kills the processes cleanly. You
      still have to continue the recovery at next startup, though.
      
      Currently, the background writer is only launched during archive recovery.
      We could launch it during crash recovery as well, but it seems better to keep
      that codepath as simple as possible, for the sake of robustness. And it
      couldn't do any restartpoints during crash recovery anyway, so it wouldn't be
      that useful.
      
      log_restartpoints is gone. Use log_checkpoints instead. This is yet to be
      documented.
      
      This whole operation is a pre-requisite for Hot Standby, but has some value of
      its own whether the hot standby patch makes 8.4 or not.
      
      Simon Riggs, with lots of modifications by me.
      cdd46c76
    • Bruce Momjian's avatar
      Add --freeze option to vacuumdb. · 36a9cf38
      Bruce Momjian authored
      36a9cf38
    • Bruce Momjian's avatar
      1d88d4e2
    • Peter Eisentraut's avatar
      Message wordsmithing · b9a36693
      Peter Eisentraut authored
      b9a36693
  4. 17 Feb, 2009 7 commits
  5. 16 Feb, 2009 2 commits
  6. 15 Feb, 2009 3 commits
  7. 14 Feb, 2009 1 commit
    • Tom Lane's avatar
      A couple of marginal performance hacks for the information_schema views: · 3f7626e9
      Tom Lane authored
      replace the old recursive-SQL-function implementation of _pg_keysequal()
      with use of the built-in array containment operators, and change
      table_constraints' UNION to UNION ALL.  Per discussion with Octavio Alvarez.
      
      initdb not forced since this doesn't affect results, but you'd need to
      initdb or reload the information_schema to see the new definitions.
      3f7626e9
  8. 13 Feb, 2009 1 commit
    • Tom Lane's avatar
      Fix UNLISTEN to fall out quickly if the current backend has never executed · ca5646fc
      Tom Lane authored
      any LISTEN command.  This is more important than it used to be because
      DISCARD ALL invokes UNLISTEN.  Connection-pooled applications making heavy
      use of DISCARD ALL were seeing significant contention for pg_listener,
      as reported by Matteo Beccati.  It seems unlikely that clients using LISTEN
      would use pooled connections, so this simple tweak seems sufficient,
      especially since the pg_listener implementation is slated to go away soon
      anyway.
      
      Back-patch to 8.3, where DISCARD ALL was introduced.
      ca5646fc
  9. 12 Feb, 2009 5 commits
  10. 11 Feb, 2009 5 commits
  11. 10 Feb, 2009 3 commits