diff --git a/src/backend/utils/error/excid.c b/src/backend/utils/error/excid.c index bef1c00856b2827db1dcd8ef8969b4c5d98d899b..877610176a30683dd17dcfc86037961cbc99e388 100644 --- a/src/backend/utils/error/excid.c +++ b/src/backend/utils/error/excid.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/excid.c,v 1.9 2001/01/24 19:43:15 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/excid.c,v 1.10 2001/02/06 01:53:53 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -42,18 +42,6 @@ Exception BadArg = {"Bad Argument to Function Call"}; * Specific Recoverable Exceptions * *****************************************************************************/ -/* - * BadAllocSize - * Indicates that an allocation request is of unreasonable size. - */ -Exception BadAllocSize = {"Too Large Allocation Request"}; - -/* - * ExhaustedMemory - * Indicates an dynamic memory allocation failed. - */ -Exception ExhaustedMemory = {"Memory Allocation Failed"}; - /* * Unimplemented * Indicates a function call request requires unimplemented code. diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c index 0520cb6d0a67bb295b4bd1281a1bfd50dc8a9deb..ab8434a05817023980619103fa3f6f23c3880f53 100644 --- a/src/backend/utils/mmgr/mcxt.c +++ b/src/backend/utils/mmgr/mcxt.c @@ -14,7 +14,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/mcxt.c,v 1.26 2001/01/24 19:43:16 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/mcxt.c,v 1.27 2001/02/06 01:53:53 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -417,8 +417,9 @@ MemoryContextAlloc(MemoryContext context, Size size) { AssertArg(MemoryContextIsValid(context)); - LogTrap(!AllocSizeIsValid(size), BadAllocSize, - ("size=%d [0x%x]", size, size)); + if (!AllocSizeIsValid(size)) + elog(ERROR, "MemoryContextAlloc: invalid request size %lu", + (unsigned long) size); return (*context->methods->alloc) (context, size); } @@ -474,8 +475,9 @@ repalloc(void *pointer, Size size) AssertArg(MemoryContextIsValid(header->context)); - LogTrap(!AllocSizeIsValid(size), BadAllocSize, - ("size=%d [0x%x]", size, size)); + if (!AllocSizeIsValid(size)) + elog(ERROR, "repalloc: invalid request size %lu", + (unsigned long) size); return (*header->context->methods->realloc) (header->context, pointer, size); diff --git a/src/include/utils/excid.h b/src/include/utils/excid.h index 88ba06dc2a8e2c8633f654b2b37a420554abc081..d1bbcbb21bdf023d086095fe004000d1df34e2a3 100644 --- a/src/include/utils/excid.h +++ b/src/include/utils/excid.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: excid.h,v 1.8 2001/01/24 19:43:28 momjian Exp $ + * $Id: excid.h,v 1.9 2001/02/06 01:53:52 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -18,8 +18,6 @@ extern Exception FailedAssertion; extern Exception BadState; extern Exception BadArg; -extern Exception BadAllocSize; -extern Exception ExhaustedMemory; extern Exception Unimplemented; extern Exception CatalogFailure;/* XXX inconsistent naming style */ diff --git a/src/include/utils/memutils.h b/src/include/utils/memutils.h index 28cf6b3354990e6065f71582047e6bda8851b779..7ba0719dcb55897b439400ea58ec1db92cdca482 100644 --- a/src/include/utils/memutils.h +++ b/src/include/utils/memutils.h @@ -10,7 +10,7 @@ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: memutils.h,v 1.41 2001/01/24 19:43:28 momjian Exp $ + * $Id: memutils.h,v 1.42 2001/02/06 01:53:52 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -22,16 +22,17 @@ /* * MaxAllocSize - * Arbitrary limit on size of allocations. + * Quasi-arbitrary limit on size of allocations. * * Note: * There is no guarantee that allocations smaller than MaxAllocSize * will succeed. Allocation requests larger than MaxAllocSize will * be summarily denied. * - * XXX This should be defined in a file of tunable constants. + * XXX This is deliberately chosen to correspond to the limiting size + * of varlena objects under TOAST. See VARATT_MASK_SIZE in postgres.h. */ -#define MaxAllocSize ((Size) 0xfffffff) /* 16G - 1 */ +#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */ #define AllocSizeIsValid(size) (0 < (size) && (size) <= MaxAllocSize)