1. 23 Nov, 2006 2 commits
    • Bruce Momjian's avatar
      Add release entry for 8.1.5 that was missing: · 3e0c96b2
      Bruce Momjian authored
      	<listitem><para>Fix rare bug in continuous archiving (Tom)</para></listitem>
      3e0c96b2
    • Tom Lane's avatar
      Several changes to reduce the probability of running out of memory during · 395249ec
      Tom Lane authored
      AbortTransaction, which would lead to recursion and eventual PANIC exit
      as illustrated in recent report from Jeff Davis.  First, in xact.c create
      a special dedicated memory context for AbortTransaction to run in.  This
      solves the problem as long as AbortTransaction doesn't need more than 32K
      (or whatever other size we create the context with).  But in corner cases
      it might.  Second, in trigger.c arrange to keep pending after-trigger event
      records in separate contexts that can be freed near the beginning of
      AbortTransaction, rather than having them persist until CleanupTransaction
      as before.  Third, in portalmem.c arrange to free executor state data
      earlier as well.  These two changes should result in backing off the
      out-of-memory condition before AbortTransaction needs any significant
      amount of memory, at least in typical cases such as memory overrun due
      to too many trigger events or too big an executor hash table.  And all
      the same for subtransaction abort too, of course.
      395249ec
  2. 22 Nov, 2006 8 commits
  3. 21 Nov, 2006 19 commits
  4. 20 Nov, 2006 10 commits
  5. 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