summaryrefslogtreecommitdiff
path: root/src/backend/utils/mmgr
Commit message (Collapse)AuthorAgeFilesLines
* Stopgap patch for problem with cursors using hash joins: an ABORTTom Lane2000-11-101-1/+7
| | | | | | | | | would cause two attempts to delete the hashtable portal, one from query shutdown and one from portalmem.c. Fix by making hash portals be treated as 'special' portal names, so that CollectNamedPortals will not think it should delete them. This code is in need of complete rewrite (and is already largely rewritten in current sources), but still need to put a finger in the dike for 7.0.*.
* Add debug code to aid in memory-leak tracking: if SHOW_MEMORY_STATS isTom Lane2000-05-212-5/+60
| | | | | 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-123-14/+19
|
* Fix a bunch of minor portability problems and maybe-bugs revealed byTom Lane2000-03-171-2/+2
| | | | | | running gcc and HP's cc with warnings cranked way up. Signed vs unsigned comparisons, routines declared static and then defined not-static, that kind of thing. Tedious, but perhaps useful...
* Extend #ifdef CLOBBER_FREED_MEMORY debugging option so that memoryTom Lane2000-03-081-1/+9
| | | | freed wholesale by AllocSetReset() is overwritten too.
* Fix problems seen in parallel regress tests when SI buffer overruns (causingTom Lane2000-01-312-6/+11
| | | | | | | | | | | | | | | | | | | | | | | syscache and relcache flushes). Relcache entry rebuild now preserves original tupledesc, rewrite rules, and triggers if possible, so that pointers to these things remain valid --- if these things change while relcache entry has positive refcount, we elog(ERROR) to avoid later crash. Arrange for xact-local rels to be rebuilt when an SI inval message is seen for them, so that they are updated by CommandCounterIncrement the same as regular rels. (This is useful because of Hiroshi's recent changes to process our own SI messages at CommandCounterIncrement time.) This allows simplification of some routines that previously hacked around the lack of an automatic update. catcache now keeps its own copy of tupledesc for its relation, rather than depending on the relcache's copy; this avoids needing to reinitialize catcache during a cache flush, which saves some cycles and eliminates nasty circularity problems that occur if a cache flush happens while trying to initialize a catcache. Eliminate a number of permanent memory leaks that used to happen during catcache or relcache flush; not least of which was that catcache never freed any cached tuples! (Rule parsetree storage is still leaked, however; will fix that separately.) Nothing done yet about code that uses tuples retrieved by SearchSysCache for longer than is safe.
* Add:Bruce Momjian2000-01-265-10/+15
| | | | | | * Portions Copyright (c) 1996-2000, PostgreSQL, Inc to all files copyright Regents of Berkeley. Man, that's a lot of files.
* Fixed all elog related warnings, as well as a few others.Peter Eisentraut2000-01-151-2/+2
|
* Fixed everything in and surrounding createdb and dropdb to make it morePeter Eisentraut2000-01-131-2/+2
| | | | error-proof. Rearranged some old code and removed dead sections.
* Fix it's and its to be correct.Bruce Momjian2000-01-051-2/+2
|
* New LDOUT makefile variable for QNX os.Bruce Momjian1999-12-131-2/+2
|
* Rename several destroy* functions/tags to drop*.Bruce Momjian1999-12-101-6/+6
|
* Make LD -r as macros that can be changed for QNX.Bruce Momjian1999-12-091-2/+2
|
* Look Ma, no MAX_PARSE_BUFFER! (At least not in the backend.Tom Lane1999-10-231-2/+2
| | | | pg_dump and interfaces/odbc still need some work.)
* Add TRUNCATE command, with psql help and sgml additions.Bruce Momjian1999-09-231-1/+3
|
* Repair incorrect cleanup of heap memory allocation duringTom Lane1999-09-091-3/+2
| | | | | | transaction abort --- before it only worked if there was exactly one level of allocation context stacked in the blank portal. Now it does the right thing for any depth, including zero...
* Alter AllocSet routines so that requests larger thanTom Lane1999-08-241-40/+133
| | | | | | | | | | 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?
* Move some system includes into c.h, and remove duplicates.Bruce Momjian1999-07-174-17/+4
|
* Final cleanupBruce Momjian1999-07-164-9/+9
|
* Update #include cleanupsBruce Momjian1999-07-164-9/+9
|
* Remove unused #includes in *.c files.Bruce Momjian1999-07-153-13/+3
|
* Clean up #include in /include directory. Add scripts for checking includes.Bruce Momjian1999-07-153-10/+3
|
* Rename to vararg_format().Bruce Momjian1999-06-191-3/+3
|
* Change form() to varargform() to prevent portability problems.Bruce Momjian1999-06-191-3/+3
|
* Reversed out Massimo patch.Bruce Momjian1999-06-121-19/+1
|
* I don't like last minute patches before the final freeze, but I believe thatBruce Momjian1999-06-121-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this one could be useful for people experiencing out-of-memory crashes while executing queries which retrieve or use a very large number of tuples. The problem happens when storage is allocated for functions results used in a large query, for example: select upper(name) from big_table; select big_table.array[1] from big_table; select count(upper(name)) from big_table; This patch is a dirty hack that fixes the out-of-memory problem for the most common cases, like the above ones. It is not the final solution for the problem but it can work for some people, so I'm posting it. The patch should be safe because all changes are under #ifdef. Furthermore the feature can be enabled or disabled at runtime by the `free_tuple_memory' options in the pg_options file. The option is disabled by default and must be explicitly enabled at runtime to have any effect. To enable the patch add the follwing line to Makefile.custom: CUSTOM_COPT += -DFREE_TUPLE_MEMORY To enable the option at runtime add the following line to pg_option: free_tuple_memory=1 Massimo
* Make functions static or NOT_USED as appropriate.Bruce Momjian1999-05-261-1/+3
|
* pgindent run over code.Bruce Momjian1999-05-255-114/+117
|
* Modify aset.c logic so that blocks requested from malloc getTom Lane1999-05-221-31/+114
| | | | | bigger the more space is used in an allocset. This reduces the malloc overhead very substantially on queries that need lots of memory.
* Hi,Bruce Momjian1999-03-221-2/+2
| | | | | | | | | | I have solved some problems with dynamic loading on NT. It is possible to run succesfully both trigger and plpgsql regression tests. The patch is in the included file "diff". Dan
* Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian1999-02-135-64/+64
|
* Fixed problem with multiple portals shown up in portals_p2 regressionJan Wieck1999-02-071-10/+1
| | | | | | | | test after new AllocSet code. Activated optimal AllocSet blocksize and chunk limit. Jan
* New alloc set code using a memory block pool for small allocations.Jan Wieck1999-02-064-285/+204
| | | | Jan
* Cleanup of source files where 'return' or 'var =' is alone on a line.Bruce Momjian1999-02-031-3/+2
|
* Replace direct inclusions of c.h with inclusion of postgres.h,Tom Lane1999-01-172-4/+4
| | | | to ensure that config.h is included as well.
* Some security, since we now have vsnprintf, I remade an old patchBruce Momjian1999-01-011-4/+4
| | | | | | | with some extra ugly sprintfs fixed. More work in this area is needed still. Göran Thyni
* OK, folks, here is the pgindent output.Bruce Momjian1998-09-014-11/+9
|
* Renaming cleanup, no pgindent yet.Bruce Momjian1998-09-015-50/+50
|
* Remove un-needed braces around single statements.Bruce Momjian1998-06-154-36/+4
|
* Fix macros that were not properly surrounded by parens or braces.Bruce Momjian1998-06-151-34/+42
|
* Hi,Bruce Momjian1998-04-061-5/+3
| | | | | | | | | | | | | | | | | | | | | | Attached you'll find a (big) patch that fixes make dep and make depend in all Makefiles where I found it to be appropriate. It also removes the dependency in Makefile.global for NAMEDATALEN and OIDNAMELEN by making backend/catalog/genbki.sh and bin/initdb/initdb.sh a little smarter. This no longer requires initdb.sh that is turned into initdb with a sed script when installing Postgres, hence initdb.sh should be renamed to initdb (after the patch has been applied :-) ) This patch is against the 6.3 sources, as it took a while to complete. Please review and apply, Cheers, Jeroen van Vianen
* pgindent run before 6.3 release, with Thomas' requested changes.Bruce Momjian1998-02-263-8/+8
|
* Goodbye register keyword. Compiler knows better.Bruce Momjian1998-02-111-3/+3
|
* Major cleanout of PORTNAME variables from Makefiles...bound to screw upMarc G. Fournier1997-12-201-5/+1
| | | | some of the ports...
* More cleanups. I can now compile without PORTNAME being defined nMarc G. Fournier1997-12-191-4/+6
| | | | | | | | | Makefile.global. End result, if all goes well, should allow for much easier porting, since there will no longer be a concept of a "port". Most, if not everything, *should* be determined by configure, or by the compiler itself. Still work to be done though :)
* Inline memset() as MemSet().Bruce Momjian1997-09-181-4/+4
|
* Used modified version of indent that understands over 100 typedefs.Bruce Momjian1997-09-083-25/+25
|
* Add typdefs to pgindent run.Bruce Momjian1997-09-081-2/+2
|
* Another PGINDENT run that changes variable indenting and case label ↵Bruce Momjian1997-09-085-89/+89
| | | | indenting. Also static variable indenting.
* Massive commit to run PGINDENT on all *.c and *.h files.Bruce Momjian1997-09-075-1152/+1206
|