SQLite

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 descendants of b387e2f9d24dccac

2013-04-01
18:15
In windows, round down the size of the memory mapped region to the next smaller multiple of the page size. (check-in: 0e44ed1bad user: drh tags: experimental-mmap)
17:58
Merge accidental fork. (check-in: 5f4437c0e3 user: dan tags: experimental-mmap)
17:56
Attempt to emulate mremap() on non-Linux systems by allocating a second mapping immediately following the first in virtual memory. (check-in: 4d67433db8 user: dan tags: experimental-mmap)
17:56
Bug fix in the winMapfile() subroutine: Be sure to record the map object handle in the sqlite3_file object. (check-in: ee4d188e20 user: drh tags: experimental-mmap)
17:22
Add xFetch and xUnfetch methods to the os_win.c VFS. (check-in: a1653a257d user: drh tags: experimental-mmap)
16:56
Ensure that a checkpoint does not use an out-of-date mapping. (check-in: a1040f0397 user: dan tags: experimental-mmap)
14:35
Fix a typo in a log message in wal.c. (check-in: 83fc48d165 user: dan tags: experimental-mmap)
14:29
Fix a problem in btree.c that could cause a crash following an OOM. (check-in: b724aa5889 user: dan tags: experimental-mmap)
14:20
Minor changes to unixMapfile() function. (Leaf check-in: 80c63443c4 user: dan tags: two-mappings)
2013-03-29
19:38
Further fixes for test scripts. (check-in: 23ffa4f9fb user: dan tags: two-mappings)
18:52
Fix a problem in btree.c that could cause a crash following an OOM. Also various test script problems. (check-in: e8bcdf938e user: dan tags: two-mappings)
11:24
Avoid assuming the page-size is 4096 bytes in os_unix.c. (check-in: 3b7ec8d79e user: dan tags: two-mappings)
2013-03-27
19:53
Modify various test cases so that they work if the file is extended in units of the system page-size. (check-in: 0e3d511927 user: dan tags: two-mappings)
2013-03-26
20:32
Change os_unix.c to use either one or two mappings internally. (check-in: e7698cba9b user: dan tags: two-mappings)
18:48
Fix a comment in os_unix.c. No code changes. (check-in: 72813b8ec9 user: drh tags: experimental-mmap)
14:36
Change the name of the Pager.pFree field to Pager.pMmapFreelist. (check-in: 611bd824c2 user: drh tags: experimental-mmap)
14:16
In btree.c, save the positions of any open cursors before moving any pages around to auto-vacuum the database on commit. (check-in: 30c0a69363 user: dan tags: experimental-mmap)
01:07
Previous check-in accidently left mmap turned off by default. This checkin fixes that. Unfortunately, shared.test is now segfaulting. All other veryquick tests appear to work, however. (check-in: a850c7319c user: drh tags: experimental-mmap)
2013-03-25
23:09
Memory-mapped I/O is now on by default. The "PRAGMA mmap_limit(N)" can be 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. (check-in: 1b37c4effd user: drh tags: experimental-mmap)
20:50
Add munmap and mremap to the set of os interfaces that can be overloaded in os_unix.c. (check-in: 8776047bd7 user: drh tags: experimental-mmap)
20:30
Use mremap() on Linux. (check-in: 431aecc860 user: dan tags: experimental-mmap)
19:57
Merge all recent trunk changes into the experimental-mmap branch. (check-in: a607d63f0b user: drh tags: experimental-mmap)
19:05
Add a test that simulates an error in mmap(). (check-in: 6ec7367d8e user: dan tags: experimental-mmap)
18:25
Simulate OOM errors in the sqlite3OsFetch() function. Run malloc.test as part of the "mmap" permutation. (check-in: 77443ef2cd user: dan tags: experimental-mmap)
17:00
Change the signature of the xUnfetch method to "int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p)". (check-in: 115b830509 user: dan tags: experimental-mmap)
16:28
Remove unnecessary code to round the size of a memory mapping to 4KB from os_unix.c. Rename SQLITE_IOERR_MREMAP to SQLITE_IOERR_MMAP. Fix other small issues in os_unix.c. (check-in: dce35c01a5 user: dan tags: experimental-mmap)
14:31
Do not return SQLITE_IOERR when the user attempts to open a small file that is not a database with mmap enabled. Instead return SQLITE_NOTADB. (check-in: bbcaab3e80 user: dan tags: experimental-mmap)
13:50
Fix a case in the pager where an xFetch() reference was being leaked following an OOM error. (check-in: 5885ba6ce7 user: dan tags: experimental-mmap)
2013-03-23
21:00
Replace the sqlite3_io_methods.xMremap interface with sqlite3_io_methods.xFetch and xUnfetch. (check-in: 1431be9557 user: dan tags: experimental-mmap)
17:29
Improve a comment in wal.c. No code changes. (check-in: 60b9f5e4dd user: dan tags: experimental-mmap)
14:20
Fix a case where a checkpoint operation could write to an invalid part of a memory mapped region. (check-in: 8dbe89d05c user: dan tags: experimental-mmap)
12:15
In the winMremap VFS function, unmap the region prior to attempting to truncate the file. (check-in: 8870c4cc6c user: mistachkin tags: experimental-mmap)
10:09
Do not unmap the mapped file region in winTruncate as there may be outstanding pointers to it. (check-in: f57a9c91e9 user: mistachkin tags: experimental-mmap)
09:56
Preliminary changes to support the xMremap VFS method on Windows. (check-in: 75a85a1c6a user: mistachkin tags: experimental-mmap)
2013-03-22
20:15
Update wal mode tests so that they work with the mmap test permutation. (check-in: f7295872a3 user: dan tags: experimental-mmap)
19:56
Fix a potential NULL-pointer dereference in btreeSwapOutMmap(). (check-in: e81ccdcd87 user: drh tags: experimental-mmap)
19:17
Fix a case where the mapped part of a database file may be written during a backup operation. (check-in: c8d67aefff user: dan tags: experimental-mmap)
18:20
Allow the database file to be memory mapped in wal mode. (check-in: d190ddabc3 user: dan tags: experimental-mmap)
17:46
Add a fix for the assert() statements added by the previous commit. (check-in: 19345416ed user: dan tags: experimental-mmap)
08:58
Add assert statements to os_unix.c to ensure that any mapped region of the database file is not being read or written using the xRead() or xWrite() methods. (check-in: 765615f9fb user: dan tags: experimental-mmap)
2013-03-21
20:39
Fix cases where xRead() was being used to read from a memory mapped part of the database file. (check-in: 5c9e9df27b user: dan tags: experimental-mmap)
20:00
Avoid calling xRead() on a part of the database file that is memory mapped. (check-in: c8eac290a7 user: dan tags: experimental-mmap)
15:57
Fix a problem when opening a write-transaction while there exist read-only b-tree cursors in mmap mode. (check-in: 32e0bbb736 user: dan tags: experimental-mmap)
14:47
Do not use the Linux mremap() call. Use the same strategy for xMremap() as on OSX instead. (check-in: 5ed8ad780c user: dan tags: experimental-mmap)
2013-03-20
18:25
Optimize the xMremap method in os_unix.c some. (check-in: 9529ed88a7 user: dan tags: experimental-mmap)
14:26
When possible, use memory mapping when appending new pages to a database file. (check-in: 14135da3cd user: dan tags: experimental-mmap)
10:07
Add test file mmap1.test. (check-in: aee1f53a74 user: dan tags: experimental-mmap)
2013-03-19
19:28
Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". (check-in: 6183f1bd86 user: dan tags: experimental-mmap)
2013-03-16
20:19
When possible, use memcpy() to and from the mapped region instead of xWrite() and xRead(). (check-in: f8ca5622d9 user: dan tags: experimental-mmap)
2013-03-15
19:13
Fix a dropped error code in pager.c. (check-in: 022fdc986b user: dan tags: experimental-mmap)
18:29
Allow read-only cursors to use mmap pages even if there is an open write transaction. (check-in: b387e2f9d2 user: dan tags: experimental-mmap)