instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and
SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and
SQLITE_FCNTL_MMAP_SIZE, respecctively.
The default mmap_size is now always 0, meaning that
memory mapped I/O is off by default. There is a new compile-time option
SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size.
Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic
and causes it to be omitted from the build. An extra argument is added
to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE
at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we
know that it does not work, meaning that it cannot be turned on by mistake
on those platforms.
FossilOrigin-Name: ea1404a10abd7f68e1f8e0708c8a3199d1f79665
existing limit if called with no arguments. Report the default mmap_limit
as part of PRAGMA compile_options. Set the default mmmap_limit to 0 for
all systems other than linux, mac, windows, and solaris.
FossilOrigin-Name: 2d9f1327fe79e40435ce1e2594d7cd9a5aea0ef2
SQLITE_DEFAULT_MMAP_LIMIT compile-time setting. Enhance "PRAGMA mmap_limit"
so that without a specific database name, it sets the limit on all database
files and changes the default for any future databases that might be added
using ATTACH.
FossilOrigin-Name: 78141d0a16dd1d56b575fccd149de7fa789cb06c
used to issue a hint to the VFS to limit mmap space to N bytes. The VFS
is free to ignore that hint if desired. However, if "PRAGMA mmap_limit(0)"
is used, xFetch is never called.
FossilOrigin-Name: 1b37c4effdd03aa2ea938a71b4f22ed27391689b
or other string might be less than the length parameter, since optimized
versions of memcmp() might read past the first difference and in so doing
generate an access violation.
FossilOrigin-Name: d73435587ba7459e2e2c32980d0e17abdeceb4bc
the thread using SQLite. Make whatever permission changes are needed using
fchmod() after the file is created, instead.
FossilOrigin-Name: 6c4c2b7dbadedac384d380efd54f12f6ccbf4ca9
posix_allocate() is available. (It is generally available on Linux
but not on Mac.) Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3]
FossilOrigin-Name: 597333f1024092b94bcd8772541e19a0f707bd40
space for mmap()ed -shm files, since posix_fallocate() gives an error if
no disk space is available whereas ftruncate() is silent and leaves the system
vulnerable to a SIGBUS upon first write to the mmap()ed region.
Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3]
FossilOrigin-Name: 356259617cfad04492a02912fdf781f54a2b4494
SQLITE_IOERR_DELETE_NOENT. The error is still reported up the stack, it
is simply not added to the sqlite3_log().
FossilOrigin-Name: 5a3b07f0f5dfae7eea870303f52f37d6a17f1da2
do not become too big or go negative. This was not actually possible in the
current code. The checks are added to make sure some future bug does not
make it possible.
FossilOrigin-Name: daebe3bd2d9bd7b6f876a8110cf5045eb3fee078
O_CLOEXEC at open (preferred) or FD_CLOEXEC in an ioctl after opening. Before
this changes, many files were done this way, but not all.
FossilOrigin-Name: 9efbeb11ae0d480a13ff1353820c12f3a8bff452