aboutsummaryrefslogtreecommitdiff
path: root/src/include/utils/memutils.h
Commit message (Collapse)AuthorAge
* make sure the $Id tags are converted to $PostgreSQL as well ...PostgreSQL Daemon2003-11-29
|
* Update copyrights to 2003.Bruce Momjian2003-08-04
|
* pgindent run.Bruce Momjian2003-08-04
|
* Portal and memory management infrastructure for extended query protocol.Tom Lane2003-05-02
| | | | | | | | | 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.
* Code review for palloc0 patch --- avoid dangerous and unnecessaryTom Lane2002-12-16
| | | | | | | | 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.
* Tweak default memory context allocation policy so that a context is notTom Lane2002-12-15
| | | | | | | | | 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.
* pgindent run.Bruce Momjian2002-09-04
|
* Change memory-space accounting mechanism in tuplesort.c and tuplestore.cTom Lane2002-08-12
| | | | | | | | 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..
* Update copyright to 2002.Bruce Momjian2002-06-20
|
* New pgindent run with fixes suggested by Tom. Patch manually reviewed,Bruce Momjian2001-11-05
| | | | initdb/regression tests pass.
* pgindent run on all C files. Java run to follow. initdb/regressionBruce Momjian2001-10-25
| | | | tests pass.
* pgindent run. Make it all clean.Bruce Momjian2001-03-22
|
* Out-of-bounds memory allocation request sizes should be treated as justTom Lane2001-02-06
| | | | | | | elog(ERROR) not an Assert trap, since we've downgraded out-of-memory to elog(ERROR) not a fatal error. Also, change the hard boundary from 256Mb to 1Gb, just so that anyone who's actually got that much memory to spare can play with TOAST objects approaching a gigabyte.
* Change Copyright from PostgreSQL, Inc to PostgreSQL Global Development Group.Bruce Momjian2001-01-24
|
* All the global memory contexts should be DLLIMPORT, if any are.Tom Lane2001-01-22
|
* Add DLLIMPORT to TransactionCommandContext.Peter Eisentraut2001-01-11
|
* Clean up MEMORY_CONTEXT_CHECKING code, and apply it more thoroughly. Also,Tom Lane2000-12-01
| | | | | apply Karel Zak's patch to recycle residual space in an exhausted allocation block. (Bet you thought I'd forgot about that, Karel?)
* Here is the patch with memory leak checker. This checker allow detectBruce Momjian2000-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* First phase of memory management rewrite (see backend/utils/mmgr/READMETom Lane2000-06-28
| | | | | | | | | | | | | 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.
* Add debug code to aid in memory-leak tracking: if SHOW_MEMORY_STATS isTom Lane2000-05-21
| | | | | defined then statistics about memory usage of all the global memory contexts are printed after each commit.
* Ye-old pgindent run. Same 4-space tabs.Bruce Momjian2000-04-12
|
* Add:Bruce Momjian2000-01-26
| | | | | | * Portions Copyright (c) 1996-2000, PostgreSQL, Inc to all files copyright Regents of Berkeley. Man, that's a lot of files.
* Look Ma, no MAX_PARSE_BUFFER! (At least not in the backend.Tom Lane1999-10-23
| | | | pg_dump and interfaces/odbc still need some work.)
* Alter AllocSet routines so that requests larger thanTom Lane1999-08-24
| | | | | | | | | | 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?
* Clean up #include in /include directory. Add scripts for checking includes.Bruce Momjian1999-07-15
|
* Cleanup of /include #include's, for 6.6 only.Bruce Momjian1999-07-14
|
* Remove QUERY_LIMIT and documenation on same. Change _ALIGN to TYPEALIGNBruce Momjian1999-06-17
| | | | for Irix.
* Make functions static or NOT_USED as appropriate.Bruce Momjian1999-05-26
|
* Another pgindent run. Sorry folks.Bruce Momjian1999-05-25
|
* pgindent run over code.Bruce Momjian1999-05-25
|
* Modify aset.c logic so that blocks requested from malloc getTom Lane1999-05-22
| | | | | bigger the more space is used in an allocset. This reduces the malloc overhead very substantially on queries that need lots of memory.
* Revise memutils.h to use alignment information gathered byTom Lane1999-03-25
| | | | configure, instead of having a bunch of crufty platform-specific guesses.
* Clean up att_align calculations so that XXXALIGN macrosTom Lane1999-03-25
| | | | need not be bogus.
* Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian1999-02-13
|
* New alloc set code using a memory block pool for small allocations.Jan Wieck1999-02-06
| | | | Jan
* Long awaited port for NetBSD/m68k was finally done by Mr. MutsukiBruce Momjian1998-12-26
| | | | | | | | | | Nakajima. Since he is not subscribing the mailing list, I'm posting his patches by his request. According to him, he has successfully compiled and passed the regression test on Mac SE/30 running NetBSD/m68k. Also, another person has reported that with the patches PostgreSQL is working on NetBSD/sun3 too. -- Tatsuo Ishii
* Alignment cleanup so no more massive switch statements for alignment,Bruce Momjian1998-09-07
| | | | just two macros.
* OK, folks, here is the pgindent output.Bruce Momjian1998-09-01
|
* From: Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>Marc G. Fournier1998-04-27
| | | | | | | | | | Ok, I have finally gotten all of the defines for Dec/Alpha and Linux/Alpha sorted out as Marc asked. There is no longer any need for '-Dalpha' or '-Dlinuxalpha' in either the Dec/Alpha or the Linux/Alpha template files (./src/template/{alpha,linuxalpha}). I have replaced every instance of 'alpha' or '__alpha__' with '__alpha', as that appears to be the common symbol between C compilers on both operating systems (RH4.2 & DecUnix 4.0b) for alpha.
* More work in the right direction on linux/alphaMarc G. Fournier1998-04-12
| | | | From: Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
* pgindent run before 6.3 release, with Thomas' requested changes.Bruce Momjian1998-02-26
|
* Fix prototypes so they don't look like function definitions.Bruce Momjian1998-01-24
|
* Fix SCO and change index name.Bruce Momjian1998-01-11
|
* Add typdefs to pgindent run.Bruce Momjian1997-09-08
|
* Another PGINDENT run that changes variable indenting and case label ↵Bruce Momjian1997-09-08
| | | | indenting. Also static variable indenting.
* Massive commit to run PGINDENT on all *.c and *.h files.Bruce Momjian1997-09-07
|
* More NOT_USEDsBruce Momjian1997-08-20
|
* Make functions static where possible, enclose unused functions in #ifdef ↵Bruce Momjian1997-08-19
| | | | NOT_USED.
* From: Dan McGuirk <mcguirk@indirect.com>Marc G. Fournier1997-03-12
| | | | | | | | | | Subject: [HACKERS] linux/alpha patches These patches lay the groundwork for a Linux/Alpha port. The port doesn't actually work unless you tweak the linker to put all the pointers in the first 32 bits of the address space, but it's at least a start. It implements the test-and-set instruction in Alpha assembly, and also fixes a lot of pointer-to-integer conversions, which is probably good anyway.
* This is a set of single row character functions, defined for the datatypeMarc G. Fournier1997-03-04
| | | | | | text, which are supposed to behave exactly as their Oracle counterparts. From: Edmund Mergl <E.Mergl@bawue.de>