Skip to content
Snippets Groups Projects
  1. Mar 04, 2009
  2. Mar 03, 2009
  3. Mar 02, 2009
    • Tom Lane's avatar
      When we are in error recursion trouble, arrange to suppress translation and · fd9e2acc
      Tom Lane authored
      encoding conversion of any elog/ereport message being sent to the frontend.
      This generalizes a patch that I put in last October, which suppressed
      translation of only specific messages known to be associated with recursive
      can't-translate-the-message behavior.  As shown in bug #4680, we need a more
      general answer in order to have some hope of coping with broken encoding
      conversion setups.  This approach seems a good deal less klugy anyway.
      
      Patch in all supported branches.
      fd9e2acc
    • Teodor Sigaev's avatar
      Fix usage of char2wchar/wchar2char. Changes: · 32032d42
      Teodor Sigaev authored
      - pg_wchar and wchar_t could have different size, so char2wchar
        doesn't call pg_mb2wchar_with_len to prevent out-of-bound
        memory bug
      - make char2wchar/wchar2char symmetric, now they should not be
        called with C-locale because mbstowcs/wcstombs oftenly doesn't
        work correct with C-locale.
      - Text parser uses pg_mb2wchar_with_len directly in case of
        C-locale and multibyte encoding
      
      Per bug report by Hiroshi Inoue <inoue@tpf.co.jp> and
      following discussion.
      
      Backpatch up to 8.2 when multybyte support was implemented in tsearch.
      32032d42
  4. Feb 28, 2009
    • Tom Lane's avatar
      Fix buffer allocations in encoding conversion routines so that they won't · 876b37d5
      Tom Lane authored
      fail on zero-length inputs.  This isn't an issue in normal use because the
      conversion infrastructure skips calling the converters for empty strings.
      However a problem was created by yesterday's patch to check whether the
      right conversion function is supplied in CREATE CONVERSION.  The most
      future-proof fix seems to be to make the converters safe for this corner case.
      876b37d5
    • Tom Lane's avatar
      Shave a few cycles in compare_pathkeys() by checking for pointer-identical · 21eb6aeb
      Tom Lane authored
      input lists before we grovel through the lists.  This doesn't save much,
      but testing shows that the case of both inputs NIL is common enough that
      it saves something.  And this is used enough to be a hotspot.
      21eb6aeb
    • Tom Lane's avatar
      Reduce the maximum value of vacuum_cost_delay and autovacuum_vacuum_cost_delay · 640796ff
      Tom Lane authored
      to 100ms (from 1000).  This still seems to be comfortably larger than the
      useful range of the parameter, and it should help discourage people from
      picking uselessly large values.  Tweak the documentation to recommend small
      values, too.  Per discussion of a couple weeks ago.
      640796ff
    • Tom Lane's avatar
      Temporarily (I hope) disable flattening of IN/EXISTS sublinks that are within · 07b9936a
      Tom Lane authored
      the ON clause of an outer join.  Doing so is semantically correct but results
      in de-optimizing queries that were structured to take advantage of the sublink
      style of execution, as seen in recent complaint from Kevin Grittner.  Since
      the user can get the other behavior by reorganizing his query, having the
      flattening happen automatically is just a convenience, and that doesn't
      justify breaking existing applications.  Eventually it would be nice to
      re-enable this, but that seems to require a significantly different approach
      to outer joins in the executor.
      07b9936a
  5. Feb 27, 2009
  6. Feb 26, 2009
  7. Feb 25, 2009
  8. Feb 24, 2009
    • Peter Eisentraut's avatar
      7380b638
    • Peter Eisentraut's avatar
      Add the possibility to specify an explicit validator function for foreign-data · 7babccb9
      Peter Eisentraut authored
      wrappers (similar to procedural languages).  This way we don't need to retain
      the nearly empty libraries, and we are more free in how to implement the
      wrapper API in the future.
      7babccb9
    • Tom Lane's avatar
      Repair a longstanding bug in CLUSTER and the rewriting variants of ALTER · f73bed30
      Tom Lane authored
      TABLE: if the command is executed by someone other than the table owner (eg,
      a superuser) and the table has a toast table, the toast table's pg_type row
      ends up with the wrong typowner, ie, the command issuer not the table owner.
      This is quite harmless for most purposes, since no interesting permissions
      checks consult the pg_type row.  However, it could lead to unexpected failures
      if one later tries to drop the role that issued the command (in 8.1 or 8.2),
      or strange warnings from pg_dump afterwards (in 8.3 and up, which will allow
      the DROP ROLE because we don't create a "redundant" owner dependency for table
      rowtypes).  Problem identified by Cott Lang.
      
      Back-patch to 8.1.  The problem is actually far older --- the CLUSTER variant
      can be demonstrated in 7.0 --- but it's mostly cosmetic before 8.1 because we
      didn't track ownership dependencies before 8.1.  Also, fixing it before 8.1
      would require changing the call signature of heap_create_with_catalog(), which
      seems to carry a nontrivial risk of breaking add-on modules.
      f73bed30
  9. Feb 23, 2009
  10. Feb 20, 2009
Loading