mirror of
https://github.com/postgres/postgres.git
synced 2025-11-13 16:22:44 +03:00
Add check for large files in meson.build
A similar check existed in the MSVC scripts that have been removed in
v17 by 1301c80b21, but nothing of the kind was checked in meson when
building with a 4-byte off_t.
This commit adds a check to fail the builds when trying to use a
relation file size higher than 1GB when off_t is 4 bytes, like
./configure, rather than detecting these failures at runtime because the
code is not able to handle large files in this case.
Backpatch down to v16, where meson has been introduced.
Discussion: https://postgr.es/m/aQ0hG36IrkaSGfN8@paquier.xyz
Backpatch-through: 16
This commit is contained in:
@@ -452,6 +452,14 @@ else
|
|||||||
segsize = (get_option('segsize') * 1024 * 1024 * 1024) / blocksize
|
segsize = (get_option('segsize') * 1024 * 1024 * 1024) / blocksize
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# If we don't have largefile support, can't handle segment size >= 2GB.
|
||||||
|
if cc.sizeof('off_t', args: test_c_args) < 8
|
||||||
|
segsize_bytes = segsize * blocksize
|
||||||
|
if segsize_bytes >= (2 * 1024 * 1024 * 1024)
|
||||||
|
error('Large file support is not enabled. Segment size cannot be larger than 1GB.')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
cdata.set('BLCKSZ', blocksize, description:
|
cdata.set('BLCKSZ', blocksize, description:
|
||||||
'''Size of a disk block --- this also limits the size of a tuple. You can set
|
'''Size of a disk block --- this also limits the size of a tuple. You can set
|
||||||
it bigger if you need bigger tuples (although TOAST should reduce the need
|
it bigger if you need bigger tuples (although TOAST should reduce the need
|
||||||
|
|||||||
Reference in New Issue
Block a user