1. 23 Sep, 2010 8 commits
    • Tom Lane's avatar
      Prevent show_session_authorization from crashing when session_authorization · 660fbec5
      Tom Lane authored
      hasn't been set.
      
      The only known case where this can happen is when show_session_authorization
      is invoked in an autovacuum process, which is possible if an index function
      calls it, as for example in bug #5669 from Andrew Geery.  We could perhaps
      try to return a sensible value, such as the name of the cluster-owning
      superuser; but that seems like much more trouble than the case is worth,
      and in any case it could create new possible failure modes.  Simply
      returning an empty string seems like the most appropriate fix.
      
      Back-patch to all supported versions, even those before autovacuum, just
      in case there's another way to provoke this crash.
      660fbec5
    • Tom Lane's avatar
      Avoid sharing subpath list structure when flattening nested AppendRels. · ee63981c
      Tom Lane authored
      In some situations the original coding led to corrupting the child AppendRel's
      subpaths list, effectively adding other members of the parent's list to it.
      This was usually masked because we never made any further use of the child's
      list, but given the right combination of circumstances, we could do so.  The
      visible symptom would be a relation getting scanned twice, as in bug #5673
      from David Schmitt.
      
      Backpatch to 8.2, which is as far back as the risky coding appears.  The
      example submitted by David only fails in 8.4 and later, but I'm not convinced
      that there aren't any even-more-obscure cases where 8.2 and 8.3 would fail.
      ee63981c
    • Tom Lane's avatar
      Make _outPathInfo print the relid set of the path's parent rel. · 003788e8
      Tom Lane authored
      We can't actually print the parent RelOptInfo in toto, because that would
      lead to infinite recursion.  But it's safe enough to reach into the parent
      and print its identifying relids, and that makes it a whole lot easier
      to figure out what a Path represents.  Should have done this years ago.
      003788e8
    • Heikki Linnakangas's avatar
      Initialize tableoid field correctly when dumping foreign data wrappers and · 7e8c25c6
      Heikki Linnakangas authored
      servers. AFAICT it's harmless at the moment because nothing can depend on
      either, but as soon as we introduce an object type with such dependencies,
      tableoid needs to be set or pg_dump will fail to interpret the dependencies
      correctly. In theory, I guess the uninitialized garbage in tableoid could
      cause the object to be mistaken for some other object with same OID as well.
      7e8c25c6
    • Tom Lane's avatar
      Re-allow input of Julian dates prior to 0001-01-01 AD. · 9aae8152
      Tom Lane authored
      This was unintentionally broken in 8.4 while tightening up checking of
      ordinary non-Julian date inputs to forbid references to "year zero".
      Per bug #5672 from Benjamin Gigot.
      9aae8152
    • Tom Lane's avatar
      More fixes for libpq's .gitignore file. · 804b2761
      Tom Lane authored
      The previous patches failed to cover a lot of symlinks that are only
      added in platform-specific cases.  Make the lists match what's in the
      Makefile for each branch.
      804b2761
    • Robert Haas's avatar
      Fix inconsistent capitalization of "PL/pgSQL". · 0c8ed2da
      Robert Haas authored
      Josh Kupershmidt
      0c8ed2da
    • Tom Lane's avatar
      Do some copy-editing on the Git usage docs. · 8687fbbe
      Tom Lane authored
      8687fbbe
  2. 22 Sep, 2010 7 commits
  3. 21 Sep, 2010 9 commits
  4. 20 Sep, 2010 1 commit
  5. 19 Sep, 2010 3 commits
  6. 18 Sep, 2010 2 commits
    • Tom Lane's avatar
      Make sure we wait for protocol-level EOF when ending binary COPY IN. · f906e078
      Tom Lane authored
      The previous coding just terminated the COPY immediately after seeing
      the EOF marker (-1 where a row field count is expected).  The expected
      CopyDone or CopyFail message just got thrown away later, since we weren't
      in COPY mode anymore.  This behavior complicated matters for the JDBC
      driver, and arguably was the wrong thing in any case since a CopyFail
      message after the marker wouldn't be honored.
      
      Note that there is a behavioral change here: extra data after the EOF
      marker was silently ignored before, but now it will cause an error.
      Hence not back-patching, although this is arguably a bug.
      
      Per report and patch by Kris Jurka.
      f906e078
    • Tom Lane's avatar
      Give a suitable HINT when an INSERT's data source is a RowExpr containing · af0161e5
      Tom Lane authored
      the same number of columns expected by the insert.  This suggests that there
      were extra parentheses that converted the intended column list into a row
      expression.
      
      Original patch by Marko Tiikkaja, rather heavily editorialized by me.
      af0161e5
  7. 17 Sep, 2010 3 commits
  8. 16 Sep, 2010 4 commits
    • Magnus Hagander's avatar
      Treat exit code 128 (ERROR_WAIT_NO_CHILDREN) as non-fatal on Win32, · 594419e7
      Magnus Hagander authored
      since it can happen when a process fails to start when the system
      is under high load.
      
      Per several bug reports and many peoples investigation.
      
      Back-patch to 8.4, which is as far back as the "deadman-switch"
      for shared memory access exists.
      594419e7
    • Tom Lane's avatar
      f7270a65
    • Tom Lane's avatar
      Fix bad grammar. · 7acf6f9b
      Tom Lane authored
      7acf6f9b
    • Tom Lane's avatar
      Fix two new-in-9.0 bugs in hstore. · cd55aa2e
      Tom Lane authored
      There was an incorrect Assert in hstoreValidOldFormat(), which would cause
      immediate core dumps when attempting to work with pre-9.0 hstore data,
      but of course only in an assert-enabled build.
      
      Also, ghstore_decompress() incorrectly applied DatumGetHStoreP() to a datum
      that wasn't actually an hstore, but rather a ghstore (ie, a gist signature
      bitstring).  That used to be harmless, but could now result in misbehavior
      if the hstore format conversion code happened to trigger.  In reality,
      since ghstore is not marked toastable (and doesn't need to be), this
      function is useless anyway; we can lobotomize it down to returning the
      passed-in pointer.
      
      Both bugs found by Andrew Gierth, though this isn't exactly his proposed
      patch.
      cd55aa2e
  9. 15 Sep, 2010 3 commits