1. 29 Aug, 2010 1 commit
  2. 27 Aug, 2010 3 commits
  3. 26 Aug, 2010 7 commits
  4. 25 Aug, 2010 9 commits
  5. 24 Aug, 2010 7 commits
  6. 23 Aug, 2010 3 commits
  7. 22 Aug, 2010 1 commit
  8. 21 Aug, 2010 4 commits
    • 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
    • Tom Lane's avatar
      Improve parallel restore's ability to cope with selective restore (-L option). · c5d6d5bc
      Tom Lane authored
      The original coding tended to break down in the face of modified restore
      orders, as shown in bug #5626 from Albert Ullrich, because it would flip over
      into parallel-restore operation too soon.  That causes problems because we
      don't have sufficient dependency information in dump archives to allow safe
      parallel processing of SECTION_PRE_DATA items.  Even if we did, it's probably
      undesirable to allow that to override the commanded restore order.
      
      To fix the problem of omitted items causing unexpected changes in restore
      order, tweak SortTocFromFile so that omitted items end up at the head of
      the list not the tail.  This ensures that they'll be examined and their
      dependencies will be marked satisfied before we get to any interesting
      items.
      
      In HEAD and 9.0, we can easily change restore_toc_entries_parallel so that
      all SECTION_PRE_DATA items are guaranteed to be processed in the initial
      serial-restore loop, and hence in commanded order.  Only DATA and POST_DATA
      items are candidates for parallel processing.  For them there might be
      variations from the commanded order because of parallelism, but we should
      do it in a safe order thanks to dependencies.
      
      In 8.4 it's much harder to make such a guarantee.  I settled for not
      letting the initial loop break out into parallel processing mode if
      it sees a DATA/POST_DATA item that's not to be restored; this at least
      prevents a non-restorable item from causing premature exit from the loop.
      This means that 8.4 will be more likely to fail given a badly-ordered -L
      list than 9.x, but we don't really promise any such thing will work anyway.
      c5d6d5bc
    • Magnus Hagander's avatar
      Adjust regression tests for previous commit, that I forgot · 5abd2d70
      Magnus Hagander authored
      to include...
      5abd2d70
    • Magnus Hagander's avatar
  9. 20 Aug, 2010 3 commits
  10. 19 Aug, 2010 2 commits
    • Tom Lane's avatar
      Bring some sanity to the trace_recovery_messages code and docs. · 79dc97a4
      Tom Lane authored
      Per gripe from Fujii Masao, though this is not exactly his proposed patch.
      Categorize as DEVELOPER_OPTIONS and set context PGC_SIGHUP, as per Fujii,
      but set the default to LOG because higher values aren't really sensible
      (see the code for trace_recovery()).  Fix the documentation to agree with
      the code and to try to explain what the variable actually does.  Get rid
      of no-op calls trace_recovery(LOG), which accomplish nothing except to
      demonstrate that this option confuses even its author.
      79dc97a4
    • Tom Lane's avatar
      Allow USING and INTO clauses of plpgsql's EXECUTE to appear in either order. · 9676b010
      Tom Lane authored
      Aside from being more forgiving, this prevents a rather surprising misbehavior
      when the "wrong" order was used: the old code didn't throw a syntax error,
      but absorbed the INTO clause into the last USING expression, which then did
      strange things downstream.
      
      Intentionally not changing the documentation; we'll continue to advertise
      only the "standard" clause order.
      
      Backpatch to 8.4, where the USING clause was added to EXECUTE.
      9676b010