1. 16 Oct, 2007 10 commits
  2. 15 Oct, 2007 4 commits
  3. 14 Oct, 2007 1 commit
  4. 13 Oct, 2007 10 commits
    • Tom Lane's avatar
      Ooops, forgot about adding -DFRONTEND. · cd8e1f50
      Tom Lane authored
      cd8e1f50
    • Tom Lane's avatar
      Migrate the former contrib/txid module into core. This will make it easier · 18e3fcc3
      Tom Lane authored
      for Slony and Skytools to depend on it.  Per discussion.
      18e3fcc3
    • Tom Lane's avatar
    • Tom Lane's avatar
      041a8b37
    • Tom Lane's avatar
      Strengthen type_sanity's check on pg_type.typarray. It failed to · 2ffc0e88
      Tom Lane authored
      complain about types that didn't have typarray set.  Noted while
      working on txid patch.
      2ffc0e88
    • Tom Lane's avatar
      Guard against possible double free during error escape from XML · ff1de5ce
      Tom Lane authored
      functions.  Patch for the reported issue from Kris Jurka, some
      other potential trouble spots plugged by Tom.
      ff1de5ce
    • Tom Lane's avatar
      Fix the inadvertent libpq ABI breakage discovered by Martin Pitt: the · 8468146b
      Tom Lane authored
      renumbering of encoding IDs done between 8.2 and 8.3 turns out to break 8.2
      initdb and psql if they are run with an 8.3beta1 libpq.so.  For the moment
      we can rearrange the order of enum pg_enc to keep the same number for
      everything except PG_JOHAB, which isn't a problem since there are no direct
      references to it in the 8.2 programs anyway.  (This does force initdb
      unfortunately.)
      
      Going forward, we want to fix things so that encoding IDs can be changed
      without an ABI break, and this commit includes the changes needed to allow
      libpq's encoding IDs to be treated as fully independent of the backend's.
      The main issue is that libpq clients should not include pg_wchar.h or
      otherwise assume they know the specific values of libpq's encoding IDs,
      since they might encounter version skew between pg_wchar.h and the libpq.so
      they are using.  To fix, have libpq officially export functions needed for
      encoding name<=>ID conversion and validity checking; it was doing this
      anyway unofficially.
      
      It's still the case that we can't renumber backend encoding IDs until the
      next bump in libpq's major version number, since doing so will break the
      8.2-era client programs.  However the code is now prepared to avoid this
      type of problem in future.
      
      Note that initdb is no longer a libpq client: we just pull in the two
      source files we need directly.  The patch also fixes a few places that
      were being sloppy about checking for an unrecognized encoding name.
      8468146b
    • Tom Lane's avatar
      Fix ALTER COLUMN TYPE to preserve the tablespace and reloptions of indexes · 537e92e4
      Tom Lane authored
      it affects.  The original coding neglected tablespace entirely (causing
      the indexes to move to the database's default tablespace) and for an index
      belonging to a UNIQUE or PRIMARY KEY constraint, it would actually try to
      assign the parent table's reloptions to the index :-(.  Per bug #3672 and
      subsequent investigation.
      
      8.0 and 8.1 did not have reloptions, but the tablespace bug is present.
      537e92e4
    • Bruce Momjian's avatar
      Attached some minor corrections, mainly completion of removal of · bf673f25
      Bruce Momjian authored
      the  "relation with OID ##### does not exist" item, and some URL
      corrections.
      
      Ian Barwick
      bf673f25
    • Tom Lane's avatar
      Teach planagg.c that partial indexes specifying WHERE foo IS NOT NULL can be · 106264ca
      Tom Lane authored
      used to perform MIN(foo) or MAX(foo), since we want to discard null rows in
      the indexscan anyway.  (This would probably fall out for free if we were
      injecting the IS NOT NULL clause somewhere earlier, but given the current
      anatomy of the MIN/MAX optimization code we have to do it explicitly.
      Fortunately, very little added code is needed.)  Per a discussion with
      Henk de Wit.
      106264ca
  5. 12 Oct, 2007 2 commits
    • Tom Lane's avatar
      When telling the bgwriter that we need a checkpoint because too much xlog · 5c8eb929
      Tom Lane authored
      has been consumed, recheck against the latest value of RedoRecPtr before
      really sending the signal.  This avoids useless checkpoint activity if
      XLogWrite is executed when we have a very stale local copy of RedoRecPtr.
      The potential for useless checkpoint is very much worse in 8.3 because of
      the walwriter process (which never does XLogInsert), so while this behavior
      was intentional, it needs to be changed.  Per report from Itagaki Takahiro.
      5c8eb929
    • Tom Lane's avatar
      Remove hack in pg_tablespace_aclmask() that disallowed permissions · 6daef2bc
      Tom Lane authored
      on pg_global even to superusers, and replace it with checks in various
      other places to complain about invalid uses of pg_global.  This ends
      up being a bit more code but it allows a more specific error message
      to be given, and it un-breaks pg_tablespace_size() on pg_global.
      Per discussion.
      6daef2bc
  6. 11 Oct, 2007 8 commits
  7. 10 Oct, 2007 5 commits