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.
Showing
- configure 416 additions, 0 deletionsconfigure
- configure.in 4 additions, 1 deletionconfigure.in
- src/backend/access/transam/clog.c 2 additions, 3 deletionssrc/backend/access/transam/clog.c
- src/backend/access/transam/multixact.c 11 additions, 4 deletionssrc/backend/access/transam/multixact.c
- src/backend/access/transam/slru.c 3 additions, 2 deletionssrc/backend/access/transam/slru.c
- src/backend/access/transam/subtrans.c 2 additions, 3 deletionssrc/backend/access/transam/subtrans.c
- src/backend/access/transam/twophase.c 12 additions, 5 deletionssrc/backend/access/transam/twophase.c
- src/backend/access/transam/xlog.c 42 additions, 54 deletionssrc/backend/access/transam/xlog.c
- src/backend/commands/vacuumlazy.c 6 additions, 6 deletionssrc/backend/commands/vacuumlazy.c
- src/backend/port/sysv_shmem.c 12 additions, 12 deletionssrc/backend/port/sysv_shmem.c
- src/backend/postmaster/bgwriter.c 8 additions, 4 deletionssrc/backend/postmaster/bgwriter.c
- src/backend/postmaster/postmaster.c 6 additions, 6 deletionssrc/backend/postmaster/postmaster.c
- src/backend/storage/buffer/buf_init.c 12 additions, 9 deletionssrc/backend/storage/buffer/buf_init.c
- src/backend/storage/buffer/buf_table.c 2 additions, 2 deletionssrc/backend/storage/buffer/buf_table.c
- src/backend/storage/buffer/freelist.c 5 additions, 5 deletionssrc/backend/storage/buffer/freelist.c
- src/backend/storage/buffer/localbuf.c 8 additions, 10 deletionssrc/backend/storage/buffer/localbuf.c
- src/backend/storage/freespace/freespace.c 11 additions, 14 deletionssrc/backend/storage/freespace/freespace.c
- src/backend/storage/ipc/ipci.c 29 additions, 21 deletionssrc/backend/storage/ipc/ipci.c
- src/backend/storage/ipc/pmsignal.c 4 additions, 2 deletionssrc/backend/storage/ipc/pmsignal.c
- src/backend/storage/ipc/procarray.c 9 additions, 4 deletionssrc/backend/storage/ipc/procarray.c
Loading
Please register or sign in to comment