1. 02 Jan, 2010 2 commits
  2. 01 Jan, 2010 7 commits
  3. 31 Dec, 2009 7 commits
  4. 30 Dec, 2009 9 commits
    • Peter Eisentraut's avatar
    • Tom Lane's avatar
      Dept of second thoughts: recursive case in ANALYZE shouldn't emit a · e6df063c
      Tom Lane authored
      pgstats message.  This might need to be done differently later, but
      with the current logic that's what should happen.
      e6df063c
    • Tom Lane's avatar
      Revise pgstat's tracking of tuple changes to improve the reliability of · 48c192c1
      Tom Lane authored
      decisions about when to auto-analyze.
      
      The previous code depended on n_live_tuples + n_dead_tuples - last_anl_tuples,
      where all three of these numbers could be bad estimates from ANALYZE itself.
      Even worse, in the presence of a steady flow of HOT updates and matching
      HOT-tuple reclamations, auto-analyze might never trigger at all, even if all
      three numbers are exactly right, because n_dead_tuples could hold steady.
      
      To fix, replace last_anl_tuples with an accurately tracked count of the total
      number of committed tuple inserts + updates + deletes since the last ANALYZE
      on the table.  This can still be compared to the same threshold as before, but
      it's much more trustworthy than the old computation.  Tracking this requires
      one more intra-transaction counter per modified table within backends, but no
      additional memory space in the stats collector.  There probably isn't any
      measurable speed difference; if anything it might be a bit faster than before,
      since I was able to eliminate some per-tuple arithmetic operations in favor of
      adding sums once per (sub)transaction.
      
      Also, simplify the logic around pgstat vacuum and analyze reporting messages
      by not trying to fold VACUUM ANALYZE into a single pgstat message.
      
      The original thought behind this patch was to allow scheduling of analyzes
      on parent tables by artificially inflating their changes_since_analyze count.
      I've left that for a separate patch since this change seems to stand on its
      own merit.
      48c192c1
    • Peter Eisentraut's avatar
    • Peter Eisentraut's avatar
      Revert makefile refactoring (version 1.123) because it doesn't work · ab1725d5
      Peter Eisentraut authored
      when building several files at once (e.g.,
      gmake postgres-A4.pdf postgres-US.pdf).
      ab1725d5
    • Magnus Hagander's avatar
      Exclude part of the product name string that is localized in Japanese versions · 50a4054d
      Magnus Hagander authored
      of MSVC when detecting MSVC version.
      
      Hiroshi Inoue
      50a4054d
    • Heikki Linnakangas's avatar
      Reset minRecoveryPoint at checkpoints, so that we don't uselessly update · ff1e1e45
      Heikki Linnakangas authored
      it in the control file at crash recovery following an archive recovery.
      
      Per Fujii Masao and subsequent discussion.
      ff1e1e45
    • Tom Lane's avatar
      Set errno to zero before invoking SSL_read or SSL_write. It appears that · 4847d595
      Tom Lane authored
      at least in some Windows versions, these functions are capable of returning
      a failure indication without setting errno.  That puts us into an infinite
      loop if the previous value happened to be EINTR.  Per report from Brendan
      Hill.
      
      Back-patch to 8.2.  We could take it further back, but since this is only
      known to be an issue on Windows and we don't support Windows before 8.2,
      it does not seem worth the trouble.
      4847d595
    • Robert Haas's avatar
      Reject invalid input in int2vectorin. · 3d4b0ab2
      Robert Haas authored
      Since the int2vector type is intended only for internal use, this patch doesn't
      worry about prettifying the error messages, which has the fringe benefit of
      avoiding creating additional translatable strings.  For a type intended to be
      used by end-users, we would want to do better, but the approach taken here
      seems like the correct trade-off for this case.
      
      Caleb Welton
      3d4b0ab2
  5. 29 Dec, 2009 3 commits
    • Tom Lane's avatar
      Add an index on pg_inherits.inhparent, and use it to avoid seqscans in · 540e69a0
      Tom Lane authored
      find_inheritance_children().  This is a complete no-op in databases without
      any inheritance.  In databases where there are just a few entries in
      pg_inherits, it could conceivably be a small loss.  However, in databases with
      many inheritance parents, it can be a big win.
      540e69a0
    • Tom Lane's avatar
      Add the ability to store inheritance-tree statistics in pg_statistic, · 649b5ec7
      Tom Lane authored
      and teach ANALYZE to compute such stats for tables that have subclasses.
      Per my proposal of yesterday.
      
      autovacuum still needs to be taught about running ANALYZE on parent tables
      when their subclasses change, but the feature is useful even without that.
      649b5ec7
    • Heikki Linnakangas's avatar
      Previous fix for temporary file management broke returning a set from · 84d723b6
      Heikki Linnakangas authored
      PL/pgSQL function within an exception handler. Make sure we use the right
      resource owner when we create the tuplestore to hold returned tuples.
      
      Simplify tuplestore API so that the caller doesn't need to be in the right
      memory context when calling tuplestore_put* functions. tuplestore.c
      automatically switches to the memory context used when the tuplestore was
      created. Tuplesort was already modified like this earlier. This patch also
      removes the now useless MemoryContextSwitch calls from callers.
      
      Report by Aleksei on pgsql-bugs on Dec 22 2009. Backpatch to 8.1, like
      the previous patch that broke this.
      84d723b6
  6. 28 Dec, 2009 4 commits
  7. 27 Dec, 2009 5 commits
  8. 26 Dec, 2009 1 commit
    • Bruce Momjian's avatar
      Zero-label enums: · 1fd9883f
      Bruce Momjian authored
      Allow enums to be created with zero labels, for use during binary upgrade.
      1fd9883f
  9. 25 Dec, 2009 2 commits