postgresql/src
Noah Misch 263865a489 Permit super-MaxAllocSize allocations with MemoryContextAllocHuge().
The MaxAllocSize guard is convenient for most callers, because it
reduces the need for careful attention to overflow, data type selection,
and the SET_VARSIZE() limit.  A handful of callers are happy to navigate
those hazards in exchange for the ability to allocate a larger chunk.
Introduce MemoryContextAllocHuge() and repalloc_huge().  Use this in
tuplesort.c and tuplestore.c, enabling internal sorts of up to INT_MAX
tuples, a factor-of-48 increase.  In particular, B-tree index builds can
now benefit from much-larger maintenance_work_mem settings.

Reviewed by Stephen Frost, Simon Riggs and Jeff Janes.
2013-06-27 14:53:57 -04:00
..
backend Permit super-MaxAllocSize allocations with MemoryContextAllocHuge(). 2013-06-27 14:53:57 -04:00
bin Mark index-constraint comments with correct dependency in pg_dump. 2013-06-27 13:54:50 -04:00
common pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
include Permit super-MaxAllocSize allocations with MemoryContextAllocHuge(). 2013-06-27 14:53:57 -04:00
interfaces Expect EWOULDBLOCK from a non-blocking connect() call only on Windows. 2013-06-27 12:36:44 -04:00
makefiles Blind attempt at fixing the non-MSVC Windows builds 2013-02-22 11:51:15 -03:00
pl PL/Python: Fix type mixup 2013-06-13 21:42:42 -04:00
port Renovate display of non-ASCII messages on Windows. 2013-06-26 11:17:33 -04:00
template Remove _FORTIFY_SOURCE 2012-10-10 21:42:38 -04:00
test Reverting previous commit, pending investigation 2013-06-24 21:21:18 +01:00
timezone pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
tools Cooperate with the Valgrind instrumentation framework. 2013-06-26 20:22:25 -04:00
tutorial Modernize string literal syntax in tutorial example. 2013-01-19 17:20:32 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Create libpgcommon, and move pg_malloc et al to it 2013-02-12 11:21:05 -03:00
Makefile.global.in Remove whitespace from end of lines 2013-05-30 21:05:07 -04:00
Makefile.shlib Add pkg-config files for libpq and ecpg libraries 2013-03-31 16:58:40 -04:00
nls-global.mk NLS: Use msgmerge --previous option 2012-12-13 23:12:12 -05:00
win32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00