From 0007490e0964d194a606ba79bb11ae1642da3372 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 20 Aug 2005 23:26:37 +0000 Subject: Convert the arithmetic for shared memory size calculation from 'int' to 'Size' (that is, size_t), and install overflow detection checks in it. This allows us to remove the former arbitrary restrictions on NBuffers etc. It won't make any difference in a 32-bit machine, but in a 64-bit machine you could theoretically have terabytes of shared buffers. (How efficiently we could manage 'em remains to be seen.) Similarly, num_temp_buffers, work_mem, and maintenance_work_mem can be set above 2Gb on a 64-bit machine. Original patch from Koichi Suzuki, additional work by moi. --- src/backend/storage/buffer/buf_table.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/backend/storage/buffer/buf_table.c') diff --git a/src/backend/storage/buffer/buf_table.c b/src/backend/storage/buffer/buf_table.c index 5ef277edc95..99dbbacd298 100644 --- a/src/backend/storage/buffer/buf_table.c +++ b/src/backend/storage/buffer/buf_table.c @@ -13,7 +13,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/buffer/buf_table.c,v 1.41 2005/05/29 04:23:04 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/storage/buffer/buf_table.c,v 1.42 2005/08/20 23:26:17 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -37,7 +37,7 @@ static HTAB *SharedBufHash; * Estimate space needed for mapping hashtable * size is the desired hash table size (possibly more than NBuffers) */ -int +Size BufTableShmemSize(int size) { return hash_estimate_size(size, sizeof(BufferLookupEnt)); -- cgit v1.2.3