Skip to content
Snippets Groups Projects
  1. Sep 20, 2010
  2. Jan 02, 2010
  3. Jan 01, 2009
  4. Jan 01, 2008
  5. Jul 25, 2007
  6. Mar 13, 2007
    • Tom Lane's avatar
      First phase of plan-invalidation project: create a plan cache management · b9527e98
      Tom Lane authored
      module and teach PREPARE and protocol-level prepared statements to use it.
      In service of this, rearrange utility-statement processing so that parse
      analysis does not assume table schemas can't change before execution for
      utility statements (necessary because we don't attempt to re-acquire locks
      for utility statements when reusing a stored plan).  This requires some
      refactoring of the ProcessUtility API, but it ends up cleaner anyway,
      for instance we can get rid of the QueryContext global.
      
      Still to do: fix up SPI and related code to use the plan cache; I'm tempted to
      try to make SQL functions use it too.  Also, there are at least some aspects
      of system state that we want to ensure remain the same during a replan as in
      the original processing; search_path certainly ought to behave that way for
      instance, and perhaps there are others.
      b9527e98
  7. Jan 05, 2007
  8. Mar 05, 2006
  9. Dec 31, 2004
    • PostgreSQL Daemon's avatar
      · 2ff50159
      PostgreSQL Daemon authored
      Tag appropriate files for rc3
      
      Also performed an initial run through of upgrading our Copyright date to
      extend to 2005 ... first run here was very simple ... change everything
      where: grep 1996-2004 && the word 'Copyright' ... scanned through the
      generated list with 'less' first, and after, to make sure that I only
      picked up the right entries ...
      2ff50159
  10. Sep 16, 2004
  11. Aug 29, 2004
  12. Jul 01, 2004
  13. Jun 05, 2004
  14. Nov 29, 2003
    • PostgreSQL Daemon's avatar
      · 55b11325
      PostgreSQL Daemon authored
      make sure the $Id tags are converted to $PostgreSQL as well ...
      55b11325
  15. Aug 04, 2003
  16. May 02, 2003
    • Tom Lane's avatar
      Portal and memory management infrastructure for extended query protocol. · de28dc9a
      Tom Lane authored
      Both plannable queries and utility commands are now always executed
      within Portals, which have been revamped so that they can handle the
      load (they used to be good only for single SELECT queries).  Restructure
      code to push command-completion-tag selection logic out of postgres.c,
      so that it won't have to be duplicated between simple and extended queries.
      initdb forced due to addition of a field to Query nodes.
      de28dc9a
  17. Dec 16, 2002
    • Tom Lane's avatar
      Code review for palloc0 patch --- avoid dangerous and unnecessary · 88177f77
      Tom Lane authored
      practice of evaluating MemSet's arguments multiple times, except for
      the special case of newNode(), where we can assume the argument is
      a constant sizeof() operator.
      Also, add GetMemoryChunkContext() to mcxt.c's API, in preparation for
      fixing recent GEQO breakage.
      88177f77
  18. Dec 15, 2002
    • Tom Lane's avatar
      Tweak default memory context allocation policy so that a context is not · e64c7feb
      Tom Lane authored
      given any malloc block until something is first allocated in it; but
      thereafter, MemoryContextReset won't release that first malloc block.
      This preserves the quick-reset property of the original policy, without
      forcing 8K to be allocated to every context whether any of it is ever
      used or not.  Also, remove some more no-longer-needed explicit freeing
      during ExecEndPlan.
      e64c7feb
  19. Sep 04, 2002
  20. Aug 12, 2002
    • Tom Lane's avatar
      Change memory-space accounting mechanism in tuplesort.c and tuplestore.c · 77a7e996
      Tom Lane authored
      to make a reasonable attempt at accounting for palloc overhead, not just
      the requested size of each memory chunk.  Since in many scenarios this
      will make for a significant reduction in the amount of space acquired,
      partially compensate by doubling the default value of SORT_MEM to 1Mb.
      Per discussion in pgsql-general around 9-Jun-2002..
      77a7e996
  21. Jun 20, 2002
  22. Nov 05, 2001
  23. Oct 25, 2001
  24. Mar 22, 2001
  25. Feb 06, 2001
  26. Jan 24, 2001
  27. Jan 22, 2001
  28. Jan 12, 2001
  29. Dec 01, 2000
  30. Jul 11, 2000
    • Bruce Momjian's avatar
      Here is the patch with memory leak checker. This checker allow detect · 46fb9c29
      Bruce Momjian authored
      in-chunk leaks, overwrite-next-chunk leaks and overwrite block-freeptr leaks.
      
      A in-chunk leak --- if something overwrite space after wanted (via palloc()
      size, but it is still inside chunk. For example
      
              x = palloc(12);         /* create 16b chunk */
              memset(x, '#', 13);
      
      this leak is in the current source total invisible, because chunk is 16b and
      leak is in the "align space".
      
       For this feature I add data_size to StandardChunk, and all memory which go
      from AllocSetAlloc() is marked as 0x7F.
      
       The MemoryContextCheck() is compiled '#ifdef USE_ASSERT_CHECKING'.
      
      I add this checking to 'tcop/postgres.c' and is active after each backend
      query, but it is probably not sufficient, because some MemoryContext exist
      only during memory processing --- will good if someone who known where
      it is needful (Tom:-) add it for others contexts;
       A problem in the current source is that we have still some malloc()
      allocation that is not needful and this allocation is total invisible for
      all context routines. For example Dllist in backend (pretty dirty it is in
      catcache where values in Dllist are palloc-ed, but list is malloc-ed).
      --- and BTW. this Dllist design stand in the way for query cache :-)
      
       Tom, if you agree I start replace some mallocs.
      
       BTW. --- Tom, have you idea for across transaction presistent allocation for
                SQL functions? (like regex - now it is via malloc)
      
      
       I almost forget. I add one if() to AllocSetAlloc(), for 'size' that are
      greater than ALLOC_BIGCHUNK_LIMIT is not needful check AllocSetFreeIndex(),
      because 'fidx' is always 'ALLOCSET_NUM_FREELISTS - 1'. It a little brisk up
      allocation for very large chunks. Right?
      
                                                      Karel
      46fb9c29
  31. Jun 28, 2000
    • Tom Lane's avatar
      First phase of memory management rewrite (see backend/utils/mmgr/README · 1aebc361
      Tom Lane authored
      for details).  It doesn't really do that much yet, since there are no
      short-term memory contexts in the executor, but the infrastructure is
      in place and long-term contexts are handled reasonably.  A few long-
      standing bugs have been fixed, such as 'VACUUM; anything' in a single
      query string crashing.  Also, out-of-memory is now considered a
      recoverable ERROR, not FATAL.
      Eliminate a large amount of crufty, now-dead code in and around
      memory management.
      Fix problem with holding off SIGTRAP, SIGSEGV, etc in postmaster and
      backend startup.
      1aebc361
  32. May 21, 2000
  33. Apr 12, 2000
  34. Jan 26, 2000
    • Bruce Momjian's avatar
      Add: · 5c25d602
      Bruce Momjian authored
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  35. Oct 23, 1999
  36. Aug 24, 1999
    • Tom Lane's avatar
      Alter AllocSet routines so that requests larger than · 2b67dc53
      Tom Lane authored
      ALLOC_BIGCHUNK_LIMIT are always allocated as separate malloc() blocks,
      and are free()d immediately upon pfree().  Also, if such a chunk is enlarged
      with repalloc(), translate the operation into a realloc() so as to
      minimize memory usage.  Of course, these large chunks still get freed
      automatically if the alloc set is reset.
      I have set ALLOC_BIGCHUNK_LIMIT at 64K for now, but perhaps another
      size would be better?
      2b67dc53
  37. Jul 15, 1999
  38. Jul 14, 1999
  39. Jun 17, 1999
Loading