postgresql/src/include
Heikki Linnakangas 05a5623766 Avoid palloc in critical section in GiST WAL-logging.
Memory allocation can fail if you run out of memory, and inside a critical
section that will lead to a PANIC. Use conservatively-sized arrays in stack
instead.

There was previously no explicit limit on the number of pages a GiST split
can produce, it was only limited by the number of LWLocks that can be held
simultaneously (100 at the moment). This patch adds an explicit limit of 75
pages. That should be plenty, a typical split shouldn't produce more than
2-3 page halves.

The bug has been there forever, but only backpatch down to 9.1. The code
was changed significantly in 9.1, and it doesn't seem worth the risk or
trouble to adapt this for 9.0 and 8.4.
2014-04-03 15:44:20 +03:00
..
access Avoid palloc in critical section in GiST WAL-logging. 2014-04-03 15:44:20 +03:00
bootstrap Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
catalog Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:36 -05:00
commands Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:36 -05:00
executor Install defenses against overflow in BuildTupleHashTable(). 2011-05-23 12:52:46 -04:00
foreign pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
lib Use a macro variable PG_PRINTF_ATTRIBUTE for the style used for checking printf type functions. 2011-04-28 10:56:14 -04:00
libpq Fix assorted issues in client host name lookup. 2014-04-02 17:11:34 -04:00
mb Back-patch addition of pg_wchar-to-multibyte conversion functionality. 2012-07-10 16:53:27 -04:00
nodes Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:36 -05:00
optimizer Fix generation of MergeAppend plans for optimized min/max on expressions. 2013-11-07 13:13:47 -05:00
parser Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:36 -05:00
port Unconditionally use the WSA equivalents of Socket error constants. 2013-08-26 14:55:00 -04:00
portability Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
postmaster Improve coding around the fsync request queue. 2012-07-17 16:57:22 -04:00
regex Allow regex operations to be terminated early by query cancel requests. 2014-03-01 15:21:07 -05:00
replication Fix typo in comment. 2013-05-23 11:35:39 -04:00
rewrite Avoid getting more than AccessShareLock when deparsing a query. 2014-03-06 19:31:16 -05:00
snowball Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
storage Fix dangling smgr_owner pointer when a fake relcache entry is freed. 2014-03-07 13:29:49 +02:00
tcop Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:36 -05:00
tsearch Predict integer overflow to avoid buffer overruns. 2014-02-17 09:33:37 -05:00
utils Predict integer overflow to avoid buffer overruns. 2014-02-17 09:33:37 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
c.h Use a macro variable PG_PRINTF_ATTRIBUTE for the style used for checking printf type functions. 2011-04-28 10:56:14 -04:00
fmgr.h Prevent privilege escalation in explicit calls to PL validators. 2014-02-17 09:33:36 -05:00
funcapi.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
getaddrinfo.h Fix assorted issues in client host name lookup. 2014-04-02 17:11:34 -04:00
getopt_long.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
Makefile Fix server header file installation with vpath builds 2011-11-10 20:54:50 +02:00
miscadmin.h Make REPLICATION privilege checks test current user not authenticated user. 2013-04-01 13:09:35 -04:00
pg_config.h.in Make configure probe for mbstowcs_l as well as wcstombs_l. 2012-08-31 14:18:08 -04:00
pg_config.h.win32 Stamp 9.1.13. 2014-03-17 15:37:27 -04:00
pg_config_manual.h Revert accidental change to pg_config_manual.h. 2011-10-09 22:23:30 -04:00
pg_trace.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pgstat.h Fix VACUUM so that it always updates pg_class.reltuples/relpages. 2011-05-30 17:06:52 -04:00
pgtime.h Fix some odd behaviors when using a SQL-style simple GMT offset timezone. 2013-11-01 12:13:29 -04:00
port.h Use correct output device for Windows prompts. 2013-01-24 16:01:31 -05:00
postgres.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
postgres_ext.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
postgres_fe.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
rusagestub.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
windowapi.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00