1. 20 Mar, 2011 6 commits
    • Tom Lane's avatar
      Fix up handling of C/POSIX collations. · 176d5bae
      Tom Lane authored
      Install just one instance of the "C" and "POSIX" collations into
      pg_collation, rather than one per encoding.  Make these instances exist
      and do something useful even in machines without locale_t support: to wit,
      it's now possible to force comparisons and case-folding functions to use C
      locale in an otherwise non-C database, whether or not the platform has
      support for using any additional collations.
      
      Fix up severely broken upper/lower/initcap functions, too: the C/POSIX
      fastpath now does what it is supposed to, and non-default collations are
      handled correctly in single-byte database encodings.
      
      Merge the two separate collation hashtables that were being maintained in
      pg_locale.c, and be more wary of the possibility that we fail partway
      through filling a cache entry.
      176d5bae
    • Bruce Momjian's avatar
      Move PITR and StreamingRep up one level of heading in the 9.1 release · c2f4ea46
      Bruce Momjian authored
      notes.
      
      Remove excessive linking to pg_ctl manual page.
      
      Reorder incompatibility sections.
      c2f4ea46
    • Magnus Hagander's avatar
      Misc minor fixes to 9.1 release notes · 0f96ae64
      Magnus Hagander authored
      Thom Brown
      0f96ae64
    • Bruce Momjian's avatar
      Word-wrap 9.1 release note lines. · 08607c95
      Bruce Momjian authored
      08607c95
    • Bruce Momjian's avatar
      b2c5b3d1
    • Tom Lane's avatar
      Revise collation derivation method and expression-tree representation. · b310b6e3
      Tom Lane authored
      All expression nodes now have an explicit output-collation field, unless
      they are known to only return a noncollatable data type (such as boolean
      or record).  Also, nodes that can invoke collation-aware functions store
      a separate field that is the collation value to pass to the function.
      This avoids confusion that arises when a function has collatable inputs
      and noncollatable output type, or vice versa.
      
      Also, replace the parser's on-the-fly collation assignment method with
      a post-pass over the completed expression tree.  This allows us to use
      a more complex (and hopefully more nearly spec-compliant) assignment
      rule without paying for it in extra storage in every expression node.
      
      Fix assorted bugs in the planner's handling of collations by making
      collation one of the defining properties of an EquivalenceClass and
      by converting CollateExprs into discardable RelabelType nodes during
      expression preprocessing.
      b310b6e3
  2. 19 Mar, 2011 8 commits
  3. 18 Mar, 2011 5 commits
  4. 17 Mar, 2011 9 commits
    • Robert Haas's avatar
      Minor fixes for high availability documentation. · f94c6f9c
      Robert Haas authored
      Erik Rijkers and me
      f94c6f9c
    • Robert Haas's avatar
      76dbb461
    • Robert Haas's avatar
      Remove bogus comment. · 02b1f84e
      Robert Haas authored
      02b1f84e
    • Alvaro Herrera's avatar
      Fix PL/Python memory leak involving array slices · 1c249fcf
      Alvaro Herrera authored
      Report and patch from Daniel Popowich, bug #5842
      (with some debugging help from Alex Hunsaker)
      1c249fcf
    • Peter Eisentraut's avatar
      Raise maximum value of several timeout parameters · 8c0a5eb7
      Peter Eisentraut authored
      The maximum value of deadlock_timeout, max_standby_archive_delay,
      max_standby_streaming_delay, log_min_duration_statement, and
      log_autovacuum_min_duration was INT_MAX/1000 milliseconds, which is
      about 35min, which is too short for some practical uses.  Raise the
      maximum value to INT_MAX; the code that uses the parameters already
      supports that just fine.
      8c0a5eb7
    • Robert Haas's avatar
      Add pause_at_recovery_target to recovery.conf.sample; improve docs. · 84abea76
      Robert Haas authored
      Fujii Masao, but with the proposed behavior change reverted, and the
      rest adjusted accordingly.
      84abea76
    • Robert Haas's avatar
      Fix various possible problems with synchronous replication. · 9a56dc33
      Robert Haas authored
      1. Don't ignore query cancel interrupts.  Instead, if the user asks to
      cancel the query after we've already committed it, but before it's on
      the standby, just emit a warning and let the COMMIT finish.
      
      2. Don't ignore die interrupts (pg_terminate_backend or fast shutdown).
      Instead, emit a warning message and close the connection without
      acknowledging the commit.  Other backends will still see the effect of
      the commit, but there's no getting around that; it's too late to abort
      at this point, and ignoring die interrupts altogether doesn't seem like
      a good idea.
      
      3. If synchronous_standby_names becomes empty, wake up all backends
      waiting for synchronous replication to complete.  Without this, someone
      attempting to shut synchronous replication off could easily wedge the
      entire system instead.
      
      4. Avoid depending on the assumption that if a walsender updates
      MyProc->syncRepState, we'll see the change even if we read it without
      holding the lock.  The window for this appears to be quite narrow (and
      probably doesn't exist at all on machines with strong memory ordering)
      but protecting against it is practically free, so do that.
      
      5. Remove useless state SYNC_REP_MUST_DISCONNECT, which isn't needed and
      doesn't actually do anything.
      
      There's still some further work needed here to make the behavior of fast
      shutdown plausible, but that looks complex, so I'm leaving it for a
      separate commit.  Review by Fujii Masao.
      9a56dc33
    • Bruce Momjian's avatar
    • Andrew Dunstan's avatar
      Use correct PATH separator for Cygwin in pg_regress.c. · 5b079cb2
      Andrew Dunstan authored
      This has been broken for years, and I'm not sure why it has not been
      noticed before, but now a very modern Cygwin breaks on it, and the fix
      is clearly correct. Backpatching to all live branches.
      5b079cb2
  5. 16 Mar, 2011 6 commits
  6. 15 Mar, 2011 5 commits
  7. 14 Mar, 2011 1 commit