1. 08 Aug, 2011 4 commits
  2. 07 Aug, 2011 4 commits
  3. 06 Aug, 2011 3 commits
    • Tom Lane's avatar
      Clean up ill-advised attempt to invent a private set of Node tags. · 05e83968
      Tom Lane authored
      Somebody thought it'd be cute to invent a set of Node tag numbers that were
      defined independently of, and indeed conflicting with, the main tag-number
      list.  While this accidentally failed to fail so far, it would certainly
      lead to trouble as soon as anyone wanted to, say, apply copyObject to these
      node types.  Clang was already complaining about the use of makeNode on
      these tags, and I think quite rightly so.  Fix by pushing these node
      definitions into the mainstream, including putting replnodes.h where it
      belongs.
      05e83968
    • Tom Lane's avatar
      Fix thinko in documentation of local_preload_libraries. · ffcf5a6c
      Tom Lane authored
      Somebody added a cross-reference to shared_preload_libraries, but wrote the
      wrong variable name when they did it (and didn't bother to make it a link
      either).
      
      Spotted by Christoph Anton Mitterer.
      ffcf5a6c
    • Tom Lane's avatar
      Reduce PG_SYSLOG_LIMIT to 900 bytes. · 375aa7b3
      Tom Lane authored
      The previous limit of 1024 was set on the assumption that all modern syslog
      implementations have line length limits of 2KB or so.  However, this is
      false, as at least Solaris and sysklogd truncate at only 1KB.  900 seems
      to leave enough room for the max likely length of the tacked-on prefixes,
      so let's go with that.
      
      As with the previous change, it doesn't seem wise to back-patch this into
      already-released branches; but it should be OK to sneak it into 9.1.
      
      Noah Misch
      375aa7b3
  4. 05 Aug, 2011 3 commits
    • Robert Haas's avatar
      Allow per-column foreign data wrapper options. · c4096c76
      Robert Haas authored
      Shigeru Hanada, with fairly minor editing by me.
      c4096c76
    • Robert Haas's avatar
      Modestly improve pgbench's checking for invalid ranges. · 68cbb9f4
      Robert Haas authored
      The old check against MAX_RANDOM_VALUE is clearly irrelevant since
      getrand() no longer calls random().  Instead, check whether min and max
      are close enough together to avoid an overflow inside getrand(), as
      suggested by Tom Lane.  This is still somewhat silly, because we're
      using atoi(), which doesn't check for overflow anyway and (at least on
      my system) will cheerfully return 0 when given "4294967296".  But that's
      a problem for another commit.
      68cbb9f4
    • Robert Haas's avatar
      Tweak PQresStatus() to avoid a clang compiler warning. · b43bf617
      Robert Haas authored
      The previous test for status < 0 test is in fact testing nothing if the
      compiler considers an enum to be an unsigned data type.  clang doesn't
      like tautologies, so do this instead.
      
      Report by Peter Geoghegan, fix as suggested by Tom Lane.
      b43bf617
  5. 04 Aug, 2011 5 commits
    • Bruce Momjian's avatar
      Fix markup for recent wal_level clarification. · 4262e61d
      Bruce Momjian authored
      Backpatch to 9.1 and 9.0.
      4262e61d
    • Andrew Dunstan's avatar
      Restore the primacy of postgres.h in plpython.c. · a11cf433
      Andrew Dunstan authored
      To avoid having the python headers hijack various definitions,
      we now include them after all the system headers we want, having
      first undefined some of the things they want to define. After that's
      done we restore the things they scribbled on that matter, namely our
      snprintf and vsnprintf macros, if we're using them.
      a11cf433
    • Robert Haas's avatar
      Create VXID locks "lazily" in the main lock table. · 84e37126
      Robert Haas authored
      Instead of entering them on transaction startup, we materialize them
      only when someone wants to wait, which will occur only during CREATE
      INDEX CONCURRENTLY.  In Hot Standby mode, the startup process must also
      be able to probe for conflicting VXID locks, but the lock need never be
      fully materialized, because the startup process does not use the normal
      lock wait mechanism.  Since most VXID locks never need to touch the
      lock manager partition locks, this can significantly reduce blocking
      contention on read-heavy workloads.
      
      Patch by me.  Review by Jeff Davis.
      84e37126
    • Robert Haas's avatar
      Teach psql to display comments on languages and casts. · 3b17efdf
      Robert Haas authored
      The output of \dL (list languages) is fairly narrow, so we just always
      display the comment.  \dC (list casts) can get fairly wide, so we only
      display comments if the new \dC+ option is specified.
      
      Josh Kupershmidt
      3b17efdf
    • Bruce Momjian's avatar
      In documentaiton, clarify which commands have reduced WAL volume for · 38de5aad
      Bruce Momjian authored
      wal_level = minimum.
      
      Backpatch to 9.1 and 9.0.
      38de5aad
  6. 03 Aug, 2011 1 commit
    • Robert Haas's avatar
      Make pgbench use erand48() rather than random(). · 4af43ee3
      Robert Haas authored
      glibc renders random() thread-safe by wrapping a futex lock around it;
      testing reveals that this limits the performance of pgbench on machines
      with many CPU cores.  Rather than switching to random_r(), which is
      only available on GNU systems and crashes unless you use undocumented
      alchemy to initialize the random state properly, switch to our built-in
      implementation of erand48(), which is both thread-safe and concurrent.
      
      Since the list of reasons not to use the operating system's erand48()
      is getting rather long, rename ours to pg_erand48() (and similarly
      for our implementations of lrand48() and srand48()) and just always
      use those.  We were already doing this on Cygwin anyway, and the
      glibc implementation is not quite thread-safe, so pgbench wouldn't
      be able to use that either.
      
      Per discussion with Tom Lane.
      4af43ee3
  7. 02 Aug, 2011 3 commits
    • Tom Lane's avatar
      Move CheckRecoveryConflictDeadlock() call to a safer place. · ac36e6f7
      Tom Lane authored
      This kluge was inserted in a spot apparently chosen at random: the lock
      manager's state is not yet fully set up for the wait, and in particular
      LockWaitCancel hasn't been armed by setting lockAwaited, so the ProcLock
      will not get cleaned up if the ereport is thrown.  This seems to not cause
      any observable problem in trivial test cases, because LockReleaseAll will
      silently clean up the debris; but I was able to cause failures with tests
      involving subtransactions.
      
      Fixes breakage induced by commit c85c9414.
      Back-patch to all affected branches.
      ac36e6f7
    • Tom Lane's avatar
      Fix incorrect initialization of ProcGlobal->startupBufferPinWaitBufId. · 2e53bd55
      Tom Lane authored
      It was initialized in the wrong place and to the wrong value.  With bad
      luck this could result in incorrect query-cancellation failures in hot
      standby sessions, should a HS backend be holding pin on buffer number 1
      while trying to acquire a lock.
      2e53bd55
    • Heikki Linnakangas's avatar
      Avoid integer overflow when LIMIT + OFFSET >= 2^63. · 89df948e
      Heikki Linnakangas authored
      This fixes bug #6139 reported by Hitoshi Harada.
      89df948e
  8. 01 Aug, 2011 1 commit
  9. 31 Jul, 2011 1 commit
  10. 30 Jul, 2011 1 commit
  11. 29 Jul, 2011 2 commits
  12. 28 Jul, 2011 1 commit
    • Tom Lane's avatar
      Fix pg_restore's direct-to-database mode for standard_conforming_strings. · 6545a901
      Tom Lane authored
      pg_backup_db.c contained a mini SQL lexer with which it tried to identify
      boundaries between SQL commands, but that code was not designed to cope
      with standard_conforming_strings, and would get the wrong answer if a
      backslash immediately precedes a closing single quote in such a string,
      as per report from Julian Mehnle.  The bug only affects direct-to-database
      restores from archive files made with standard_conforming_strings = on.
      
      Rather than complicating the code some more to try to fix that, let's just
      rip it all out.  The only reason it was needed was to cope with COPY data
      embedded into ordinary archive entries, which was a layout that was used
      only for about the first three weeks of the archive format's existence,
      and never in any production release of pg_dump.  Instead, just rely on the
      archive file layout to tell us whether we're printing COPY data or not.
      
      This bug represents a data corruption hazard in all releases in which
      standard_conforming_strings can be turned on, ie 8.2 and later, so
      back-patch to all supported branches.
      6545a901
  13. 27 Jul, 2011 2 commits
  14. 26 Jul, 2011 6 commits
  15. 25 Jul, 2011 3 commits