1. 20 Nov, 2006 3 commits
    • Bruce Momjian's avatar
      Update documentation to use Statement-Based Replication rather than · 900c9962
      Bruce Momjian authored
      Query Broadcast.
      900c9962
    • Teodor Sigaev's avatar
      Fix bug http://archives.postgresql.org/pgsql-bugs/2006-10/msg00258.php. · 419fe7cd
      Teodor Sigaev authored
      Fix string's length calculation for recoding, fix strlower() to avoid wrong
      assumption about length of recoded string (was: recoded string is no greater
      that source, it may not true for multibyte encodings)
      Thanks to Thomas H. <me@alternize.com> and Magnus Hagander <mha@sollentuna.net>
      419fe7cd
    • Tom Lane's avatar
      When truncating a relation in-place (eg during VACUUM), do not try to unlink · 1a5c450f
      Tom Lane authored
      any no-longer-needed segments; just truncate them to zero bytes and leave
      the files in place for possible future re-use.  This avoids problems when
      the segments are re-used due to relation growth shortly after truncation.
      Before, the bgwriter, and possibly other backends, could still be holding
      open file references to the old segment files, and would write dirty blocks
      into those files where they'd disappear from the view of other processes.
      
      Back-patch as far as 8.0.  I believe the 7.x branches are not vulnerable,
      because they had no bgwriter, and "blind" writes by other backends would
      always be done via freshly-opened file references.
      1a5c450f
  2. 19 Nov, 2006 1 commit
    • Tom Lane's avatar
      Repair problems with hash indexes that span multiple segments: the hash code's · d68efb3f
      Tom Lane authored
      preference for filling pages out-of-order tends to confuse the sanity checks
      in md.c, as per report from Balazs Nagy in bug #2737.  The fix is to ensure
      that the smgr-level code always has the same idea of the logical EOF as the
      hash index code does, by using ReadBuffer(P_NEW) where we are adding a single
      page to the end of the index, and using smgrextend() to reserve a large batch
      of pages when creating a new splitpoint.  The patch is a bit ugly because it
      avoids making any changes in md.c, which seems the most prudent approach for a
      backpatchable beta-period fix.  After 8.3 development opens, I'll take a look
      at a cleaner but more invasive patch, in particular getting rid of the now
      unnecessary hack to allow reading beyond EOF in mdread().
      
      Backpatch as far as 7.4.  The bug likely exists in 7.3 as well, but because
      of the magnitude of the 7.3-to-7.4 changes in hash, the later-version patch
      doesn't even begin to apply.  Given the other known bugs in the 7.3-era hash
      code, it does not seem worth trying to develop a separate patch for 7.3.
      d68efb3f
  3. 17 Nov, 2006 9 commits
  4. 16 Nov, 2006 5 commits
  5. 15 Nov, 2006 1 commit
  6. 14 Nov, 2006 4 commits
  7. 13 Nov, 2006 1 commit
  8. 12 Nov, 2006 3 commits
  9. 11 Nov, 2006 1 commit
  10. 10 Nov, 2006 7 commits
  11. 08 Nov, 2006 5 commits
    • Tom Lane's avatar
      Change Windows rename and unlink substitutes so that they time out after · dcbdf9b1
      Tom Lane authored
      30 seconds instead of retrying forever.  Also modify xlog.c so that if
      it fails to rename an old xlog segment up to a future slot, it will
      unlink the segment instead.  Per discussion of bug #2712, in which it
      became apparent that Windows can handle unlinking a file that's being
      held open, but not renaming it.
      dcbdf9b1
    • Tom Lane's avatar
      Modify aset.c to track the next intended block allocation size explicitly. · 808b3190
      Tom Lane authored
      The former coding relied on the actual allocated size of the last block,
      which made it behave strangely if the first allocation in a context was
      larger than ALLOC_CHUNK_LIMIT: subsequent allocations would be referenced
      to that and not to the intended series of block sizes.  Noted while
      studying a memory wastage gripe from Tatsuo.
      808b3190
    • Tom Lane's avatar
      Tweak accumArrayResult() to double the size of its working arrays when · fc5eb3f6
      Tom Lane authored
      more space is needed, instead of incrementing by a fixed amount; the old
      method wastes lots of space and time when the ultimate size is large.
      Per gripe from Tatsuo.
      fc5eb3f6
    • Tom Lane's avatar
      Fix performance issues in replace_text(), replace_text_regexp(), and · a5cf12e2
      Tom Lane authored
      text_to_array(): they all had O(N^2) behavior on long input strings in
      multibyte encodings, because of repeated rescanning of the input text to
      identify substrings whose positions/lengths were computed in characters
      instead of bytes.  Fix by tracking the current source position as a char
      pointer as well as a character-count.  Also avoid some unnecessary palloc
      operations.  text_to_array() also leaked memory intracall due to failure
      to pfree temporary strings.  Per gripe from Tatsuo Ishii.
      a5cf12e2
    • Neil Conway's avatar
      Fix two typos. · 9d6f2632
      Neil Conway authored
      9d6f2632