1. 18 Aug, 2010 1 commit
    • Heikki Linnakangas's avatar
      Coerce 'unknown' type parameters to the right type in the fixed-params · ef713753
      Heikki Linnakangas authored
      parse_analyze() function. That case occurs e.g with PL/pgSQL
      EXECUTE ... USING 'stringconstant'.
      
      The coercion with a CoerceViaIO node. The result is similar to the coercion
      via input function performed for unknown constants in coerce_type(),
      except that this happens at runtime.
      
      Backpatch to 9.0. The issue is present in 8.4 as well, but the coerce param
      hook infrastructure this patch relies on was introduced in 9.0. Given the
      lack of user reports and harmlessness of the bug, it's not worth attempting
      a different fix just for 8.4.
      ef713753
  2. 17 Aug, 2010 3 commits
  3. 16 Aug, 2010 3 commits
    • Tom Lane's avatar
      Arrange to fsync the contents of lockfiles (both postmaster.pid and the · ee0e525b
      Tom Lane authored
      socket lockfile) when writing them.  The lack of an fsync here may well
      explain two different reports we've seen of corrupted lockfile contents,
      which doesn't particularly bother the running server but can prevent a
      new server from starting if the old one crashes.  Per suggestion from
      Alvaro.
      
      Back-patch to all supported versions.
      ee0e525b
    • Robert Haas's avatar
      Make LockDatabaseObject() AcceptInvalidationMessages(). · 66b14030
      Robert Haas authored
      This is appropriate for the same reasons we already do it in
      LockSharedObject(): things might have changed while we were waiting
      for the lock.  There doesn't seem to be a live bug here at the moment,
      but that's mostly because it isn't currently used for very much.
      66b14030
    • Tom Lane's avatar
      Fix psql's copy of utf2ucs() to match the backend's copy exactly; · b49c8790
      Tom Lane authored
      in particular, propagate a fix in the test to see whether a UTF8 character has
      length 4 bytes.  This is likely of little real-world consequence because
      5-or-more-byte UTF8 sequences are not supported by Postgres nor seen anywhere
      in the wild, but still we may as well get it right.  Problem found by Joseph
      Adams.
      
      Bug is aboriginal, so back-patch all the way.
      b49c8790
  4. 15 Aug, 2010 5 commits
  5. 14 Aug, 2010 5 commits
  6. 13 Aug, 2010 9 commits
    • Robert Haas's avatar
      Fix assorted dtrace breakage caused by patch to include backend IDs · 105d4c5f
      Robert Haas authored
      in temp relpaths.
      
      Per buildfarm.
      105d4c5f
    • Tom Lane's avatar
      Clean up failure to use ClosePager() where appropriate in help.c. · 36ba263d
      Tom Lane authored
      Also prevent possible repeat opening of pager in helpSQL().
      36ba263d
    • Robert Haas's avatar
      Include the backend ID in the relpath of temporary relations. · debcec7d
      Robert Haas authored
      This allows us to reliably remove all leftover temporary relation
      files on cluster startup without reference to system catalogs or WAL;
      therefore, we no longer include temporary relations in XLOG_XACT_COMMIT
      and XLOG_XACT_ABORT WAL records.
      
      Since these changes require including a backend ID in each
      SharedInvalSmgrMsg, the size of the SharedInvalidationMessage.id
      field has been reduced from two bytes to one, and the maximum number
      of connections has been reduced from INT_MAX / 4 to 2^23-1.  It would
      be possible to remove these restrictions by increasing the size of
      SharedInvalidationMessage by 4 bytes, but right now that doesn't seem
      like a good trade-off.
      
      Review by Jaime Casanova and Tom Lane.
      debcec7d
    • Tom Lane's avatar
      Minor #include cleanup. · 3f9479ef
      Tom Lane authored
      I just noticed that libpq's pqsignal.h was violating our general inclusion
      style guidelines by explicitly including postgres_fe.h.  Remove that, and
      put it in pqsignal.c where it belongs.
      3f9479ef
    • Tom Lane's avatar
      Add xml_is_well_formed, xml_is_well_formed_document, xml_is_well_formed_content · a0b7b717
      Tom Lane authored
      functions to the core XML code.  Per discussion, the former depends on
      XMLOPTION while the others do not.  These supersede a version previously
      offered by contrib/xml2.
      
      Mike Fowler, reviewed by Pavel Stehule
      a0b7b717
    • Tom Lane's avatar
      Fix Assert failure in PushOverrideSearchPath when trying to restore a search · 2a7349f0
      Tom Lane authored
      path that specifies useTemp, but there is no active temp schema in the
      current session.  (This can happen if the path was saved during a transaction
      that created a temp schema and was later rolled back.)  For existing callers
      it's sufficient to ignore the useTemp flag in this case, though we might
      later want to offer an option to create a fresh temp schema.  So far as I can
      tell this is just an Assert failure: in a non-assert build, the code would
      push a zero onto the new search path, which is useless but not very harmful.
      Per bug report from Heikki.
      
      Back-patch to 8.3; prior versions don't have this code.
      2a7349f0
    • Robert Haas's avatar
      Make RecordTransactionCommit() respect wal_level. · 95ef7cd4
      Robert Haas authored
      Since the only purpose of WAL-loggin SharedInvalidationMessages is to support
      Hot Standby operation, they needn't be included when wal_level < hot_standby.
      
      Back-patch to 9.0.
      
      Review by Heikki Linnakanagas and Fujii Masao.
      95ef7cd4
    • Tom Lane's avatar
      Fix pg_restore to complain if any arguments remain after parsing the switches · e4155c84
      Tom Lane authored
      and input file name, per bug #5617 from Leo Shklovskii.  Rearrange the
      corresponding code in pg_dump and pg_dumpall so that all three programs
      handle this in a consistent, straightforward fashion.
      
      Back-patch to 9.0, but no further.  Although this is certainly a bug, it's
      possible that people have scripts that will be broken by the added error
      check, so it seems better not to change the behavior in stable branches.
      e4155c84
    • Robert Haas's avatar
      Reorder docs on lexical structure slightly for clarity. · 9b0a8686
      Robert Haas authored
      Thom Brown
      9b0a8686
  7. 12 Aug, 2010 5 commits
  8. 11 Aug, 2010 4 commits
  9. 10 Aug, 2010 5 commits