1. 27 Jan, 2007 2 commits
  2. 26 Jan, 2007 5 commits
  3. 25 Jan, 2007 19 commits
  4. 24 Jan, 2007 3 commits
    • Bruce Momjian's avatar
      When using MSVC, disable the building of ecpg if pthreads is not · 693c85d9
      Bruce Momjian authored
      specified.
      
      Magnus Hagander
      693c85d9
    • Tom Lane's avatar
      Get pg_utf_mblen(), pg_utf2wchar_with_len(), and utf2ucs() all on the same · 0887fa11
      Tom Lane authored
      page about the maximum UTF8 sequence length we support (4 bytes since 8.1,
      3 before that).  pg_utf2wchar_with_len never got updated to support 4-byte
      characters at all, and in any case had a buffer-overrun risk in that it
      could produce multiple pg_wchars from what mblen claims to be just one UTF8
      character.  The only reason we don't have a major security hole is that most
      callers allocate worst-case output buffers; the sole exception in released
      versions appears to be pre-8.2 iwchareq() (ie, ILIKE), which can be crashed
      due to zeroing out its return address --- but AFAICS that can't be exploited
      for anything more than a crash, due to inability to control what gets written
      there.  Per report from James Russell and Michael Fuhr.
      
      Pre-8.1 the risk is much less, but I still think pg_utf2wchar_with_len's
      behavior given an incomplete final character risks buffer overrun, so
      back-patch that logic change anyway.
      
      This patch also makes sure that UTF8 sequences exceeding the supported
      length (whichever it is) are consistently treated as error cases, rather
      than being treated like a valid shorter sequence in some places.
      0887fa11
    • Tom Lane's avatar
      Relax an Assert() that has been found to be too strict in some situations · 07cf99ac
      Tom Lane authored
      involving unions of types having typmods.  Variants of the failure are known
      to occur in 8.1 and up; not sure if it's possible in 8.0 and 7.4, but since
      the code exists that far back, I'll just patch 'em all.  Per report from
      Brian Hurt.
      07cf99ac
  5. 23 Jan, 2007 9 commits
  6. 22 Jan, 2007 2 commits
    • Bruce Momjian's avatar
      Update my email address in FAQ. · b97b8664
      Bruce Momjian authored
      b97b8664
    • Tom Lane's avatar
      Put back planner's ability to cache the results of mergejoinscansel(), · 4f06c688
      Tom Lane authored
      which I had removed in the first cut of the EquivalenceClass rewrite to
      simplify that patch a little.  But it's still important --- in a four-way
      join problem mergejoinscansel() was eating about 40% of the planning time
      according to gprof.  Also, improve the EquivalenceClass code to re-use
      join RestrictInfos rather than generating fresh ones for each join
      considered.  This saves some memory space but more importantly improves
      the effectiveness of caching planning info in RestrictInfos.
      4f06c688