1. 11 Feb, 2005 1 commit
  2. 10 Feb, 2005 7 commits
  3. 09 Feb, 2005 2 commits
    • Neil Conway's avatar
      ALTER TABLE ADD COLUMN exhibits a significant memory leak when adding a · 3df9abd1
      Neil Conway authored
      column with a default expression. In that situation, we need to rewrite
      the heap relation. To evaluate the new default expression, we use
      ExecEvalExpr(); however, this can allocate memory in the current memory
      context, and ATRewriteTable() does not switch out of the active portal's
      heap memory context. The end result is a rather large memory leak (on
      the order of gigabytes for a reasonably sized table).
      
      This patch changes ATRewriteTable() to switch to the per-tuple memory
      context before beginning the per-tuple loop. It also removes an explicit
      heap_freetuple() in the loop, since that is no longer needed.
      
      In an unrelated change, I noticed the code was scanning through the
      attributes of the new tuple descriptor for each tuple of the old table.
      I changed this to use precomputation, which should slightly speed up
      the loop.
      
      Thanks to steve@deefs.net for reporting the leak.
      3df9abd1
    • Michael Meskes's avatar
      d32b3aec
  4. 08 Feb, 2005 2 commits
  5. 06 Feb, 2005 3 commits
  6. 05 Feb, 2005 2 commits
  7. 04 Feb, 2005 1 commit
  8. 03 Feb, 2005 3 commits
  9. 02 Feb, 2005 9 commits
  10. 01 Feb, 2005 10 commits