1. 31 Aug, 2010 1 commit
  2. 30 Aug, 2010 6 commits
  3. 29 Aug, 2010 2 commits
    • Tom Lane's avatar
      Reduce PANIC to ERROR in some occasionally-reported btree failure cases. · 8fa30f90
      Tom Lane authored
      This patch changes _bt_split() and _bt_pagedel() to throw a plain ERROR,
      rather than PANIC, for several cases that are reported from the field
      from time to time:
      * right sibling's left-link doesn't match;
      * PageAddItem failure during _bt_split();
      * parent page's next child isn't right sibling during _bt_pagedel().
      In addition the error messages for these cases have been made a bit
      more verbose, with additional values included.
      
      The original motivation for PANIC here was to capture core dumps for
      subsequent analysis.  But with so many users whose platforms don't capture
      core dumps by default, or who are unprepared to analyze them anyway, it's hard
      to justify a forced database restart when we can fairly easily detect the
      problems before we've reached the critical sections where PANIC would be
      necessary.  It is not currently known whether the reports of these messages
      indicate well-hidden bugs in Postgres, or are a result of storage-level
      malfeasance; the latter possibility suggests that we ought to try to be more
      robust even if there is a bug here that's ultimately found.
      
      Backpatch to 8.2.  The code before that is sufficiently different that
      it doesn't seem worth the trouble to back-port further.
      8fa30f90
    • Tom Lane's avatar
      Remove obsolete remark that PQprepare() is more flexible than PREPARE. · a9a999bc
      Tom Lane authored
      Spotted by Dmitriy Igrishin.  Back-patch to 8.2, which is when the PREPARE
      statement was improved to allow parameter types to be omitted.
      a9a999bc
  4. 27 Aug, 2010 3 commits
  5. 26 Aug, 2010 7 commits
  6. 25 Aug, 2010 9 commits
  7. 24 Aug, 2010 7 commits
  8. 23 Aug, 2010 3 commits
  9. 22 Aug, 2010 1 commit
  10. 21 Aug, 2010 1 commit
    • Tom Lane's avatar
      Use a non-locale-dependent definition of isspace() in array_in/array_out. · 95cacd13
      Tom Lane authored
      array_in discards unquoted leading and trailing whitespace in array values,
      while array_out is careful to quote array elements that contain whitespace.
      This is problematic when the definition of "whitespace" varies between
      locales: array_in could drop characters that were meant to be part of the
      value.  To avoid that, lock down "whitespace" to mean only the traditional
      six ASCII space characters.
      
      This change also works around a bug in OS X and some older BSD systems, in
      which isspace() could return true for character fragments in UTF8 locales.
      (There may be other places in PG where that bug could cause problems, but
      this is the only one complained of so far; see recent report from Steven
      Schlansker.)
      
      Back-patch to 9.0, but not further.  Given the lack of previous reports
      of trouble, changing this behavior in stable branches seems to offer
      more risk of breaking applications than reward of avoiding problems.
      95cacd13