SQLite
File History
Not logged in

History of files named src/pager.c

2014-12-20
14:50
[2cbaf886a6] part of check-in [de50f25ce3] Add the "PRAGMA data_version" command for checking to see if a database has been modified. (user: drh branch: trunk)
2014-12-19
19:28
[abe022cd72] part of check-in [43db1f44bc] Experimental "PRAGMA data_version" command for detecting when another process has changed the database file. (user: drh branch: data_version_pragma)
2014-12-08
07:50
[47f13c194a] part of check-in [69a312ad3f] Update this branch with latest trunk changes. (user: dan branch: experimental-bulk-update)
2014-12-04
23:42
[0bfd3ceb72] part of check-in [463ad971d2] Import from trunk support for SQLITE_CHECKPOINT_TRUNCATE and fixes for a couple of obscure bugs. (user: drh branch: apple-osx)
2014-12-03
19:25
[7a5c5bc0e2] part of check-in [b2da8afc76] Add evidence marks and assert()s used as evidence for checkpoint requirements. (user: drh branch: trunk)
2014-12-02
16:38
[7663d83bdf] part of check-in [43c4ba26a2] Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. (user: drh branch: apple-osx)
2014-11-22
09:09
[9fe27a768b] part of check-in [600cefdd4d] Add SQLITE_ENABLE_OTA pre-processor directives so that this branch may be compiled with or without OTA. (user: dan branch: experimental-bulk-update)
2014-11-21
14:37
[c2a4795e65] part of check-in [7ef44c5b5b] Merge latest trunk changes with this branch. (user: dan branch: experimental-bulk-update)
2014-11-20
15:11
[e5378efabe] part of check-in [556c3de53a] Updates to support zipvfs in pass-through mode. (user: dan branch: experimental-bulk-update)
2014-11-19
16:36
[b8764f90c1] part of check-in [6d00bcca6e] Add new requirements marks associated with the file format documentation. No changes to code. (user: drh branch: trunk)
2014-10-27
18:42
[b7c7af7c5b] part of check-in [10aaf3b148] Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. (user: drh branch: apple-osx)
14:26
[8d97b3633f] part of check-in [face33bea1] Optimizations aimed at reducing the number of memcpy() operations required by balance_nonroot(). (user: dan branch: trunk)
2014-10-24
16:40
[d02833adf3] part of check-in [eab8706dc4] Fix some minor formatting and code organization issues. (user: dan branch: defrag-opt)
2014-10-22
18:42
[18be49e363] part of check-in [854a54c6c2] Merge latest trunk with this branch. (user: dan branch: defrag-opt)
02:43
[00ef5573d8] part of check-in [674848070e] Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherry-pick of 3e922208b68563 (user: drh branch: branch-3.8.6)
2014-10-21
21:56
[a98547ad9b] part of check-in [3e922208b6] Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. (user: drh branch: trunk)
19:35
[e1e385e03d] part of check-in [6fd09854fe] Test that sqlite3ota_open() works with URI paths. Fix some other issues. (user: dan branch: experimental-bulk-update)
2014-10-20
16:34
[93ad94d62e] part of check-in [d380a6482a] Merge version-3.8.7 changes with this branch. (user: dan branch: experimental-bulk-update)
16:24
[59c1d41bba] part of check-in [0bf1301aac] Have the ota extension perform an incremental checkpoint after generating the wal file. (user: dan branch: experimental-bulk-update)
2014-10-13
18:09
[492aab0f96] part of check-in [d5b7c5a88d] Merge trunk changes into this branch. (user: dan branch: defrag-opt)
2014-10-09
19:35
[0abcb0904a] part of check-in [29304499ea] Change the balance_nonroot() routine to reduce the amount of memcpy work that takes place. This is a work in progress. (user: dan branch: defrag-opt)
11:27
[83e9a7af13] part of check-in [6fc7207727] Merge the latest trunk enhancements into the apple-osx branch. (user: drh branch: apple-osx)
2014-10-08
13:34
[a171cf9dd0] part of check-in [e4b43967fd] Ensure that the Pager.pTmpSpace allocation is correct even if an OOM error occurs while reducing the page size. (user: drh branch: trunk)
2014-09-21
23:08
[69e5a3f5f5] part of check-in [3967ebe83e] Merge in all recent changes from trunk. (user: drh branch: apple-osx)
2014-09-18
11:31
[348c9da924] part of check-in [67ea2979d5] Merge latest trunk changes with this branch. (user: dan branch: experimental-bulk-update)
09:59
[caab007743] part of check-in [3bd7c1b2fa] Modify an assert() within sqlite3PagerWalFramesize(), a function only ever used by zipvfs, to account for recent zipvfs changes. (user: dan branch: trunk)
2014-09-16
20:02
[2dafc02d49] part of check-in [decaccc37c] Clarify the effects of the pager_ota_mode pragma. Add tests and fixes for the same. (user: dan branch: experimental-bulk-update)
2014-09-15
19:34
[c1cdf55093] part of check-in [48d201cd8b] Remove the experimental sqlite3_transaction_save() and restore() APIs. (user: dan branch: experimental-bulk-update)
15:34
[b7c625fc92] part of check-in [55b8011d5b] Merge latest trunk changes with this branch. (user: dan branch: experimental-bulk-update)
2014-09-11
18:44
[c6c809987f] part of check-in [7e4978c003] Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_text64(), sqlite3_result_blob64(), and sqlite3_result_text64(). Add the sqlite3_msize() interface. Internal memory allocation routines now use 64-bit unsigned length parameters for safety. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (user: drh branch: trunk)
2014-09-06
16:39
[31da9594ad] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (user: peter.d.reid branch: trunk)
03:38
[a5e1a49869] part of check-in [4d4fb197dc] Do not record a page-size change if the attempt to change the page size failed due to an OOM error. (user: drh branch: trunk)
2014-09-04
19:05
[9611de7c00] part of check-in [9ae4444725] Avoid ever running a checkpoint in ota mode. (user: dan branch: experimental-bulk-update)
2014-09-03
19:30
[ed122b1346] part of check-in [209f672e58] Split part of "PRAGMA ota_mode" off into "PRAGMA pager_ota_mode". This allows some specialized custom VFS implementations to intercept and implement the expected pager-related effects of this pragma. (user: dan branch: experimental-bulk-update)
2014-09-02
19:59
[a3caa08db8] part of check-in [2954ab5010] Add an experimental extension for applying bulk updates to databases. (user: dan branch: experimental-bulk-update)
15:57
[919d4e7eaf] part of check-in [696dc935f7] Merge the latest trunk changes into the apple-osx branch. (user: drh branch: apple-osx)
2014-08-27
23:18
[3e732d2bbd] part of check-in [bdb6e4978d] Refactor the sqlite3PcacheFetch() routine into three separate routines, which are significantly faster overall and about 100 bytes smaller in size as well. (user: drh branch: trunk)
2014-08-26
15:06
[27fb89e62e] part of check-in [f1f94a971e] Change the page cache so that a new sqlite3_pcache object is allocated as soon as the page cache is opened, not delayed until the first fetch request. This give a noticable performance boost. The interface between pager and the page cache has changed slightly, which might break ZIPVFS. (user: drh branch: trunk)
02:02
[cf19f9200a] part of check-in [5c27311105] Merge recent performance enhancements and the CAST operator enhancements into the apple-osx branch. (user: drh branch: apple-osx)
2014-08-25
11:33
[53cc5e9d73] part of check-in [54164ce47c] Remove the pager_lookup() function since it is redundant with sqlite3PagerLookup(). (user: drh branch: trunk)
2014-08-24
01:32
[c831b0df87] part of check-in [c63311e2f3] Patch the sqlite3PagerWrite() method in the Pager to run a bit faster. (user: drh branch: trunk)
2014-05-19
15:16
[e48554539f] part of check-in [17349a49d2] Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. (user: drh branch: safer-malloc)
2014-05-09
13:27
[d878c40eb8] part of check-in [eafd8aa186] Fix compiler warnings. When forcing the delete of a WAL file, do not fail if the WAL files does not exist. All "veryquick.tcl" tests are now passing on Linux under the standard compile-time options. (user: drh branch: apple-osx)
2014-05-08
23:01
[0f8835053c] part of check-in [9411d7dc6f] Initial attempt to merge in all trunk changes over the previous 1.5 years. This check-in compiles but there are compiler warnings and "make test" segfaults after only running a few test modules. (user: drh branch: apple-osx)
2014-05-07
15:46
[f6bb1fa6cd] part of check-in [1a0d7d3d9d] Add the SQLITE_IOCAP_IMMUTABLE bit as a possible return value from the xDeviceCharacteristics method in the VFS. Add the "nolock" and "immutable" query parameters to URI filenames. (user: drh branch: trunk)
2014-05-01
01:49
[6ed54e1699] part of check-in [725c1c14be] Take out the special handling of nolock=true in os_win.c and add it to pager.c, so that it works for all VFSes. Add the pPager->noLock boolean for clarity. (user: drh branch: win32-none)
01:20
[52b7f435cb] part of check-in [1829c38c32] Avoid unnecessary xUnlock operations on temp file. (user: drh branch: win32-none)
01:13
[5c296b584d] part of check-in [71f152c85d] Add the immutable=TRUE query parameter and SQLITE_IOCAP_IMMUTABLE, either of which prevents locking of the database and omits tests for existance of journal files. (user: drh branch: win32-none)
2014-04-24
13:20
[ddf6e9950c] part of check-in [34155c406c] Add sqlite3_log() diagnostic messages for a specific type of corruption where the file size is reported to be too small relative to the size in the header. This branch is intended to help debug a specific problem reported from the wild and is not for general use. (user: drh branch: filesize-debug)
2014-04-04
14:12
[ab62a24218] part of check-in [e54330b431] Ensure the "PRAGMA journal_mode=WAL" works coming from any other journal_mode with ATTACH-ed databases. (user: drh branch: trunk)
2014-03-07
14:57
[97a8908bf4] part of check-in [e5b17a9d07] Improved comment on the pager.c PERSIST rollback journal delete logic inside of hasHotJournal(). No changes to code. (user: drh branch: trunk)
03:31
[ab9b5331e4] part of check-in [1c318ef3b7] Revise change from the previous check-in to clarify the situation when handling open journal files, regardless of journal mode. (user: mistachkin branch: trunk)
02:29
[f5805e0e8c] part of check-in [fdc651e2ec] Avoid calling sqlite3OsDelete() on a file that is open, since this causes Windows to run *very* slowly. Comes up on error recovery in journal_mode=PERSIST. (user: mistachkin branch: trunk)
2014-02-08
13:24
[0ffa313a30] part of check-in [83116ee3e0] Fix a harmless compiler warning in VS2013. (user: drh branch: trunk)
2013-12-13
20:45
[efa923693e] part of check-in [bc5febef92] Performance optimizations in the pager_write() routine of pager.c. (user: drh branch: trunk)
19:48
[3436cc9cce] part of check-in [e50ff39a93] Reduce the number of calls to the subjRequiresPage() routine inside of pager. (user: drh branch: trunk)
19:35
[4757194b2f] part of check-in [e00f37e233] Create and use a new pager interface sqlite3PagerUnrefNotNull() that works just like sqlite3PagerUnref() but guarantees that its argument is not a NULL pointer. (user: drh branch: trunk)
2013-12-11
15:47
[95a568497d] part of check-in [552f94d50f] Add the SQLITE_FCNTL_SYNC and SQLITE_FCNTL_COMMIT_PHASETWO file-controls and have the pager call them at appropriate times. This is needed in order to enable ZIPVFS to do multi-file atomic commits. (user: drh branch: trunk)
11:00
[9bca84722e] part of check-in [a7e5fcd666] Fix harmless compiler warnings. (user: drh branch: trunk)
2013-12-10
17:34
[994b3ee371] part of check-in [46231af985] Use SQLITE_FCNTL_SYNC instead of SQLITE_FCNTL_SYNC_OMITTED. Add documentation in for FCNTL_SYNC and FCNTL_COMMIT_PHASETWO. (user: dan branch: zipvfs-multifile-commit)
16:35
[458c580b63] part of check-in [3ee736a39d] Merge changes from the trunk. (user: dan branch: zipvfs-multifile-commit)
16:27
[994fc67f46] part of check-in [d9a5f44f4a] Fix handling of errors returned by the SQLITE_FCNTL_OMIT_SYNCED file-control. (user: dan branch: zipvfs-multifile-commit)
2013-12-09
20:42
[b28711af0f] part of check-in [32fb1784af] Modify the way some internal file-controls are invoked. In order to support multi-file transactions in the zipvfs extension. (user: dan branch: zipvfs-multifile-commit)
19:25
[19203eff37] part of check-in [ba9eef5f52] Minor performance optimizations in pager.c. (user: drh branch: trunk)
2013-12-08
19:54
[061d0b4135] part of check-in [fbcc1a3ebb] Interchange two conditions in an "if" statment in sqlite3PagerAcquire() for very slight (0.06%) overall performance increase. (user: drh branch: trunk)
2013-12-07
16:56
[d27dc8aaea] part of check-in [369a23e006] At the start of each journaled write transaction, check to see if the database file has been moved, and if it has refuse to start the transaction, returning an SQLITE_READONLY_DBMOVED error code. Writing to a moved or renamed database is still allowed when journal_mode is OFF or MEMORY. (user: drh branch: trunk)
12:29
[6aa7d8eca7] part of check-in [2b1884dc14] Actually look at i-node numbers to determine whether or not the database file has moved. (user: drh branch: detect-moved-db)
2013-12-06
17:23
[938874307e] part of check-in [28348f2ada] Only error out on a database file move when attempting to start a write transaction. Assume read transactions are still safe. And make the error SQLITE_READONLY_DBMOVED instead of SQLITE_IOERR_NODB. (user: drh branch: detect-moved-db)
15:37
[3648e602d4] part of check-in [8759a8e4d8] Add code to detect if the database file is moved or deleted out from under SQLite and return an SQLITE_IOERR_NODB. (user: drh branch: detect-moved-db)
2013-08-21
23:42
[2aa4444ffe] part of check-in [617e23ec28] Simplify the btreeGetPage() routine so that it uses a single flag parameter in place of two boolean parameters. (user: drh branch: trunk)
22:54
[7e9130d5fa] part of check-in [9ae1f9ce7e] Minor performance tweaks to the pager. (user: drh branch: trunk)
2013-08-17
16:37
[7c999137cb] part of check-in [65a85a156f] Add the cache_spill pragma. Change the fullfsync and checkpoint_fullfsync pragmas to apply to all attached databases. (user: drh branch: trunk)
2013-07-06
17:57
[5d2f747526] part of check-in [0ae7e75b21] Drop any existing mapping of the database file when exiting the pager "error state", as it may at this point be too large for the database file. Do not invoke file-control MMAP_SIZE if the database file handle does not support xFetch and xUnfetch (on the grounds that xUnfetch(0) calls to invalidate the mapping cannot be made). (user: dan branch: trunk)
2013-05-29
17:48
[79df56da9d] part of check-in [d5b084e9d8] Updates to the Codec interface to support codecs on attached databases and to allow rekeying in the middle of a transaction. These changes are only applicable if SQLite is compiled with SQLITE_HAS_CODEC. (user: drh branch: trunk)
2013-05-28
12:11
[865a09d9ca] part of check-in [a0d5cc9315] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (user: drh branch: trunk)
2013-05-23
10:13
[3709c5c9e2] part of check-in [40cfde8b4a] Avoid unnecessary calls to FCNTL_SIZE_HINT. Return an error to the user if the file-control invoked by "PRAGMA mmap_size" returns a value other than SQLITE_OK or SQLITE_NOTFOUND. (user: dan branch: trunk)
2013-05-02
17:37
[49e23f9898] part of check-in [b81e87e72b] Minor fixes for compilation with SQLITE_OMIT_WAL defined. (user: dan branch: trunk)
2013-04-26
18:36
[4a9160d268] part of check-in [c47144e98c] Avoid unnecessarily reseting the pager cache after committing a transaction that takes advantage of the SQLITE_IOCAP_ATOMIC related optimization. (user: dan branch: trunk)
2013-04-16
14:52
[6c3a8a5d66] part of check-in [340cca3079] Disable memory-mapped I/O when the codec is enabled. (user: drh branch: trunk)
2013-04-15
17:03
[a55adacb18] part of check-in [ea1404a10a] Refactoring the mmap interface. The controlling pragma is now "mmap_size" 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. (user: drh branch: trunk)
2013-04-10
23:48
[28f45e60d9] part of check-in [be7d2c5482] Add new primary error codes SQLITE_NOTICE and SQLITE_WARNING for use with sqlite3_log(). Add new extended error codes SQLITE_NOTICE_RECOVER_WAL and SQLITE_NOTICE_RECOVER_ROLLBACK to use with sqlite3_log() messages that occur on each recovery. (user: drh branch: trunk)
2013-04-09
19:19
[fc108b8da7] part of check-in [96f04d99f3] Check in the instrumented code for the mptest test case that appears to show a spontaneously disappearing journal file. (user: dan branch: missing-journal-file)
18:36
[cc60816e67] part of check-in [7cd3f6cd3a] Change the rollback journal so that it invokes sqlite3_log() make a record of a recovery, just as the WAL journal does. (user: drh branch: trunk)
2013-04-08
20:47
[eb6d272f4d] part of check-in [8a4314a398] Disable the use of memory-mapped I/O if the SQLITE_DISABLE_MMAP macro is defined. Automatically define this macro for OpenBSD and QNX. Other systems are likely to be added to the disabled list over time. (user: drh branch: trunk)
2013-04-04
00:40
[2e68df46d4] part of check-in [fff2be6077] Try to use mmap() to speed access to the database file on windows, linux, and mac. (user: drh branch: trunk)
2013-04-02
18:31
[e26184d451] part of check-in [d641d3d20d] Change an assert in pager.c to acknowledge that it is possible for sqlite3PagerRollback() to return SQLITE_CORRUPT. (user: dan branch: experimental-mmap)
01:45
[46fa7d8b29] part of check-in [793ba4e996] Reorder two conditions to make coverage testing easier. (user: drh branch: experimental-mmap)
00:41
[37ac3175cb] part of check-in [3628e86bf1] Remove an unreachable condition from pager.c. (user: drh branch: experimental-mmap)
00:15
[95e7a64bfd] part of check-in [01ffdabbad] Always send the SQLITE_FCNTL_MMAP_LIMIT pragma to the VFS, even if the limit is zero and even if the VFS does not support xFetch(). (user: drh branch: experimental-mmap)
2013-04-01
22:38
[072512d05d] part of check-in [78141d0a16] Add the SQLITE_CONFIG_MMAP_LIMIT configuration option for overriding the 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. (user: drh branch: experimental-mmap)
2013-03-26
20:32
[30009ae580] part of check-in [e7698cba9b] Change os_unix.c to use either one or two mappings internally. (user: dan branch: two-mappings)
14:36
[2b9980e872] part of check-in [611bd824c2] Change the name of the Pager.pFree field to Pager.pMmapFreelist. (user: drh branch: experimental-mmap)
01:07
[8ac98fd951] part of check-in [a850c7319c] 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. (user: drh branch: experimental-mmap)
2013-03-25
23:09
[c532d51ccc] part of check-in [1b37c4effd] 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. (user: drh branch: experimental-mmap)
19:57
[4e1b55e7a5] part of check-in [a607d63f0b] Merge all recent trunk changes into the experimental-mmap branch. (user: drh branch: experimental-mmap)
17:00
[d0cdf47664] part of check-in [115b830509] Change the signature of the xUnfetch method to "int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p)". (user: dan branch: experimental-mmap)
14:31
[2dd59f366b] part of check-in [bbcaab3e80] 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. (user: dan branch: experimental-mmap)
13:50
[3da35f3287] part of check-in [5885ba6ce7] Fix a case in the pager where an xFetch() reference was being leaked following an OOM error. (user: dan branch: experimental-mmap)
2013-03-23
21:00
[2e63de7185] part of check-in [1431be9557] Replace the sqlite3_io_methods.xMremap interface with sqlite3_io_methods.xFetch and xUnfetch. (user: dan branch: experimental-mmap)
14:20
[cffcfe7534] part of check-in [8dbe89d05c] Fix a case where a checkpoint operation could write to an invalid part of a memory mapped region. (user: dan branch: experimental-mmap)
2013-03-22
18:20
[12b8ff1251] part of check-in [d190ddabc3] Allow the database file to be memory mapped in wal mode. (user: dan branch: experimental-mmap)
2013-03-21
21:20
[3e9a159396] part of check-in [6f6e2d5094] Many spelling fixes in comments. No changes to code. (user: mistachkin branch: trunk)
20:39
[520001015155e] part of check-in [5c9e9df27b] Fix cases where xRead() was being used to read from a memory mapped part of the database file. (user: dan branch: experimental-mmap)
20:00
[5ee2ec6a10] part of check-in [c8eac290a7] Avoid calling xRead() on a part of the database file that is memory mapped. (user: dan branch: experimental-mmap)
2013-03-20
14:26
[d59af9a70a] part of check-in [14135da3cd] When possible, use memory mapping when appending new pages to a database file. (user: dan branch: experimental-mmap)
2013-03-19
19:28
[78b65bf968] part of check-in [6183f1bd86] Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". (user: dan branch: experimental-mmap)
2013-03-16
20:19
[495c534439] part of check-in [f8ca5622d9] When possible, use memcpy() to and from the mapped region instead of xWrite() and xRead(). (user: dan branch: experimental-mmap)
2013-03-15
19:13
[bdbcfe676c] part of check-in [022fdc986b] Fix a dropped error code in pager.c. (user: dan branch: experimental-mmap)
18:29
[734578514314a] part of check-in [b387e2f9d2] Allow read-only cursors to use mmap pages even if there is an open write transaction. (user: dan branch: experimental-mmap)
2013-03-14
18:34
[4e7e66c295] part of check-in [6f21d9cbf5] Use mmap() to read from the database file in rollback mode. This branch is unix only for now. (user: dan branch: experimental-mmap)
2013-03-06
01:48
[582f8da52d] part of check-in [ce4ac66a4b] Add the SQLITE_READONLY_ROLLBACK extended error code. Do not try to set the permissions on journal or wal files except if the filesize is initially zero (indicating that it is a new file.) (user: drh branch: trunk)
2013-03-04
16:35
[bbe1eca2d1] part of check-in [090a47127f] Remove an assert() statement that has been incorrect since the recent incremental-vacuum related changes in 26e235b7a4. (user: dan branch: trunk)
2013-03-01
21:01
[9e51c2a37a] part of check-in [f476eace86] Fix an overly restrictive assert() in the pager. (user: drh branch: trunk)
2013-02-25
13:31
[0dbf5ff5d5] part of check-in [26e235b7a4] Merge the incr-vacuum-opt branch with the trunk. (user: dan branch: trunk)
2012-12-05
11:30
[4092c90722] part of check-in [bdceca2738] Since errors are ignored anyway, use sqlite3OsFileControlHint() instead of OsFileControl() to invoke the SQLITE_FCNTL_BUSY_HANDLER file-control. (user: dan branch: trunk)
10:01
[521251dd78] part of check-in [11aa47b0a8] If the atomic-write property is enabled, a transaction may be committed in journal_mode=DELETE mode without ever actually creating a journal file on disk. In this case, do not attempt to unlink() the journal file when committing the transaction. (user: dan branch: trunk)
2012-11-09
20:17
[ed53fe75a2] part of check-in [bed9c172ce] Change os_unix.c to propagate ENOENT errors back to sqlite as SQLITE_IOERR_DELETE_NOENT. Have SQLite ignore these where they are benign and propagate them back to the caller where they may indicate a file-system malfunction of some description. (user: dan branch: trunk)
2012-10-17
13:15
[ee59fef316] part of check-in [bf44d73d3e] Remove an incorrect "#ifndef SQLITE_OMIT_AUTOVACUUM" from pager. (user: drh branch: trunk)
2012-10-13
23:16
[36642c0955] part of check-in [ca86138bda] Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. (user: drh branch: trunk)
2012-10-10
12:14
[82f7182b3d] part of check-in [96247853ef] Define the sqlite3PagerWalFramesize() function even if SQLITE_OMIT_WAL is used. (user: drh branch: trunk)
2012-10-01
20:32
[a7ad8c3880] part of check-in [59c2be75ff] Fix harmless compiler warnings. (user: drh branch: trunk)
18:44
[52bfc72f7f] part of check-in [1262d2f471] Add SQLITE_FCNTL_BUSYHANDLER. Invoked to provide access to the busy-handler callback to custom VFS implementations. (user: dan branch: trunk)
06:50
[9f5f282359] part of check-in [6b4ff83bff] Ensure that the value returned by xSectorSize() is reasonable (currently defined as between 2^5 and 2^16 bytes) before using it to calculate the amount of padding to add to a wal file. (user: dan branch: trunk)
2012-09-28
10:57
[403e8cfae0] part of check-in [6a5c59dd7e] Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY query planner enhancements) into the apple-osx branch. (user: drh branch: apple-osx)
2012-09-15
13:39
[9c59818c48] part of check-in [8711a8447d] Make sure the name of rollback journal files are double-zero terminated when they are passed into the VFS. (user: drh branch: trunk)
2012-08-31
14:10
[85fec76b7e] part of check-in [bc9b9cd058] Merge in latest trunk changes. (user: dan branch: apple-osx)
2012-08-25
10:01
[5665fa9ece] part of check-in [9b19b84753] Fix all known instances of 'repeated the' style typos in comments. No changes to code. (user: mistachkin branch: trunk)
2012-06-08
01:13
[ca8424ef9b] part of check-in [9d1b851562] Merge trunk changes into the apple-osx branch. (user: drh branch: apple-osx)
2012-06-07
07:24
[e381c118b7] part of check-in [506008f000] Fix a malloc/free mismatch in pager.c (sqlite3_free() called on a buffer allocated by sqlite3DbMalloc()). (user: dan branch: trunk)
2012-06-06
23:59
[a1147e04bb] part of check-in [31fe1985ad] Fix harmless Clang warnings. (user: drh branch: trunk)
2012-05-27
22:42
[9d4d640651] part of check-in [e72179f3a4] Merge into trunk the changes that permit :memory: databases to use shared cache. (user: drh branch: trunk)
00:11
[f3215101be] part of check-in [997ef5f61e] Fix corner-case problems with shared-cache for in-memory databases. (user: drh branch: shared-cache-memdb)
2012-05-26
20:08
[5a86e85e39] part of check-in [e3ad61e030] Only allow :memory: databases to share cache if there are created using a URI filename. This minimizes the risk of breakages in legacy applications that have shared-cache enabled but also use :memory: databases which they expect to keep separate. (user: drh branch: shared-cache-memdb)
18:06
[5b14be810f] part of check-in [4590e433f2] Enable the use of shared cache for an in-memory database, so that separate database connections can share the same in-memory database. (user: drh branch: shared-cache-memdb)
2012-05-11
00:56
[544cc84d50] part of check-in [66708685909f] Make sure the WAL file is deleted when changing to DELETE journal mode. (user: drh branch: apple-osx)
2012-05-09
22:36
[c296b3035a] part of check-in [654792941011c] Added support for SQLITE_ENABLE_PERSIST_WAL compile time macro, retrieving lastErrno from WAL file and setting last errno when writes fail due to space constraints (user: adam branch: apple-osx)
2012-05-05
01:03
[69429aeb24] part of check-in [2a99c0074a] Merge the latest trunk changes into the apple-osx branch. (user: drh branch: apple-osx)
2012-04-27
16:38
[bb5635dde0] part of check-in [1e51bffe77] Fix a minor deviation from the coding style guidelines. (user: drh branch: trunk)
2012-03-31
02:46
[ce4fde5951] part of check-in [18ec60cacd] Merge all the latest trunk changes into the apple-osx branch. (user: drh branch: apple-osx)
2012-03-24
20:06
[85988507fa] part of check-in [05f98d4eec] Add SQLITE_DBSTATUS_CACHE_WRITE. Used to query a database connection for the cumulative number of database pages written. (user: drh branch: trunk)
2012-03-05
16:39
[a5bacc1a19] part of check-in [504bf49086] Pull in all the latest trunk changes. (user: drh branch: apple-osx)
2012-02-24
14:33
[3955b62cdb] part of check-in [3130275c64] Add #ifdef SQLITE_ENABLE_ZIPVFS around those bits of code that are only used by ZIPVFS. (user: drh branch: trunk)
2012-02-23
16:45
[25733ab94d] part of check-in [f0640615f2] Fix a typo made inside an assert() statement in the previous commit. (user: dan branch: trunk)
15:35
[af82f106e5] part of check-in [786e24dc56] Add the sqlite3PagerWalFramesize() function to pager.c. This is used by zipvfs. (user: dan branch: trunk)
2012-02-10
18:18
[e34303157c] part of check-in [e248598649] Pull the latest trunk changes into the apple-osx branch. (user: drh branch: apple-osx)
2012-01-20
15:05
[afadbdf156] part of check-in [d7374568cb] Cherrypick the fix from 629108c8e5376f989 into the nx-devkit branch. (user: drh branch: nx-devkit)
2012-01-17
15:29
[2d892f7b90] part of check-in [96900c47e4] Remove the undocumented PRAGMA omit_readlock hack. (user: drh branch: trunk)
2012-01-14
14:13
[0c6cebb314] part of check-in [2cc414cd14] Merge the latest trunk changes into the apple-osx branch. (user: drh branch: apple-osx)
2012-01-11
16:16
[4d58c983d9] part of check-in [9e31a275ef] Remove code made unreachable by the enhancement of the previous check-in. (user: drh branch: trunk)
15:47
[a3ef71cb0b] part of check-in [629108c8e5] Make the pager less vulnerable to problems caused by shifting sector sizes when rolling back a hot journal. (user: drh branch: trunk)
2012-01-10
23:18
[99ee9e52e4] part of check-in [cb774b26e1] Only require double-zero terminators on database filenames, not any every files supplied to the xOpen method. This backs out 2544f233f1. Also refactor the fillInUnixFile() routine in os_unix.c to reduce the number of parameters. (user: drh branch: trunk)
17:59
[355f00af21] part of check-in [722735a4f3] Refactor sqlite3OsFileControlNoFail() into sqlite3FileControlHint(). (user: drh branch: trunk)
17:28
[f2a3a87da3] part of check-in [2544f233f1] Avoid passing strings with a single nul-terminator (two are required) to the VFS xOpen() method from within the code that checks to see if a master-journal file may be safely deleted. (user: dan branch: trunk)
16:56
[e7c940ef4a] part of check-in [af59b182d7] Add function sqlite3OsFileControlNoFail(), which is the same as sqlite3OsFileControl() except that it does not simulate OOM errors. This saves adding calls to the BenignMalloc() functions around each of the invocations of sqliteOsFileControl() that ignore the return code. (user: dan branch: trunk)
00:24
[818ae6c440] part of check-in [38bc4236d5] Remove the BenignMalloc() from around the call to FCNTL_OVERWRITE. Add new ones around sqlite3OsDelete(). Fix an assert that causes problems for the nx-devkit. (user: drh branch: trunk)
2012-01-03
21:54
[f87fa939f8] part of check-in [8a048423f0] Pull all the latest trunk changes over into the apple-osx branch. (user: drh branch: apple-osx)
14:50
[5b89ab9263] part of check-in [d73e93cfdc] Make sure filenames passed into sqlite3OsOpen() always have the extra zero-terminators needed by sqlite3_uri_parameter(). (user: drh branch: trunk)
2012-01-02
14:50
[a21a3191ab] part of check-in [fd3822f1f2] Have SQLITE_FCNTL_SYNC_OMITTED use the normal method of returning an error code. (user: dan branch: trunk)
2011-12-30
18:16
[4ee26909f1] part of check-in [c17a3f5e5d] Add calls to the BenignMalloc() functions around the SQLITE_FCNTL_SIZE_HINT call in pager.c. (user: dan branch: trunk)
09:00
[0ae6079dd6] part of check-in [6a71ba9ce9] Change an implicit i64-to-int cast in pager.c to an explicit cast. (user: dan branch: trunk)
2011-12-23
02:07
[d03fb1de7b] part of check-in [2370d70eb5] Merge the POWERSAFE_OVERWRITE features and the use of statvfs() from the statvfs branch into trunk. (user: drh branch: trunk)
2011-12-22
02:10
[fb35a2c336] part of check-in [995ec8a41a] Merge recent trunk changes into the statvfs branch. (user: drh branch: statvfs)
2011-12-21
23:38
[6277bebe07] part of check-in [42f31f190a] Cherry-pick the SQLITE_DIRECT_OVERFLOW_READ fix for ticket [ac0ff496b7e] of changes c5256b59ad and c723e3e18a into the nx-devkit branch. (user: drh branch: nx-devkit)
18:04
[523c64f6ca] part of check-in [c723e3e18a] Fix other problems where 32-bit integer overflow may cause a problem. Two that require an improbably large sub-journal and two in test harness code. Ticket [ac0ff496b7e2] (user: dan branch: trunk)
2011-12-17
20:02
[c9bd2f7183] part of check-in [1dde96c9ee] For improved clarity of presentation, refactor some of the code associated with ZERO_DAMAGE and sector-size. (user: drh branch: statvfs)
19:49
[2fb503c737] part of check-in [a0be6ea464] Add SQLITE_IOCAP_ZERO_DAMAGE and enable it for both unix and windows. Use this device characteristic to reduce the required work in journaling. A side effect is that this changes the default page exists back to 1024 even with the use of statvfs(). (user: drh branch: statvfs)
13:45
[c7c32a1c27] part of check-in [44ca4d1233] Merge in changes that cause the first sector of the WAL file to be synced when the WAL restarts. This is a fix for the power-loss corruption problem described in ticket [ff5be73dee086] (user: drh branch: trunk)
2011-12-08
21:08
[9d31fa7d47] part of check-in [59e0d4f3d9] Merge the latest trunk changes into the apple-osx branch. (user: drh branch: apple-osx)
2011-11-16
19:29
[d981f3bfcc] part of check-in [3f58e7c889] Add the sqlite3_db_release_memory() interface and the shrink_memory pragma. (user: drh branch: trunk)
2011-11-14
12:34
[196b112bb0] part of check-in [638a39bbaa] Further work on mmap(). Still does not work right - autovacuum tests are the first to fail. (user: drh branch: mmap-experimental)
01:55
[6b3a7765ac] part of check-in [09be42d5fa] Begin making experimental changes to use mmap() for reading content from a database. The code compiles, but crashes on the test suite. (user: drh branch: mmap-experimental)
2011-11-06
05:06
[db33d4bf1e] part of check-in [5dbfaed8c3] Move function sqlite3PagerClearCache() out of the "ifndef SQLITE_OMIT_WAL" block and into an "ifndef SQLITE_OMIT_VACUUM" block. (user: dan branch: trunk)
2011-10-21
17:18
[52530f16c3] part of check-in [be62ef058b] Merge the latest trunk changes into the apple-osx branch. (user: drh branch: apple-osx)
14:27
[ad62daa0c2] part of check-in [07159e84b4] If an error occurs while writing to the database file during a VACUUM, discard the contents of the in-memory cache. This is required as if the database is a zipvfs database, the contents of the cache may be inconsistent with respect to the database as stored on disk. (user: dan branch: trunk)
2011-10-14
21:49
[60c80db526] part of check-in [60fee9574b] Add assert() statements and eliminate needless variable assignments in order to get the clang scan-build utility to report zero problems against the SQLite core. Clang's static analysis did find one real problem - but it was in the command-line shell, not in the SQLite core. (user: drh branch: trunk)
2011-10-11
14:19
[b23e50bc7a] part of check-in [7e2c489822] Merge the latest trunk changes into the apple-osx branch. (user: drh branch: apple-osx)
2011-10-10
23:53
[5cafaf3833] part of check-in [6cb43f6c6e] Forward port the Apple-specific changes from db5b7b778c in the apple-osx-377 branch. Fix this up so that it will compile and run on Linux. (user: drh branch: apple-osx)
22:11
[4bee5b51c3] part of check-in [db5b7b778c] Merging in cherry picked diffs for persist wal, alloc padding, wal-safe vacuum and sqlite3_file_control based lockstate checking (user: adam branch: apple-osx-377)
2011-09-22
14:41
[8a6ac3e0d9] part of check-in [5100b6e9dc] Add the SQLITE_DB_STATUS_CACHE_HIT and MISS options. For querying the number of cache hits and misses on a per-connection basis. (user: dan branch: trunk)
2011-09-20
15:53
[eb09ad62fe] part of check-in [892723575c] Add SQLITE_STMTSTATUS_CACHE_HIT/MISS and SQLITE_DB_STATUS_CACHE_HIT/MISS. For querying the number of pager cache hits and misses on a statement or connection basis. (user: dan branch: cache-stats)
2011-09-19
20:32
[984dc40d79] part of check-in [ade72b1874] Merge in all trunk changes through the 3.7.8 release. (user: drh branch: apple-osx)
11:57
[15d10371e2] part of check-in [69823ed163] Remove a stray merge-sort related change from pager.c and pager.h. (user: dan branch: trunk)
2011-09-14
19:05
[e36f6225d5] part of check-in [2456b4d0d2] Merge in the latest changes from trunk. (user: drh branch: apple-osx)
2011-09-03
17:07
[5545863e4e] part of check-in [4c43e8b2d2] Performance improvements to the external merge-sorter. Keep content on an in-memory linked lists rather than an ephemeral table prior to spilling to disk. Use the external merge-sorter to implement ORDER BY and GROUP BY in addition to CREATE INDEX. (user: drh branch: trunk)
2011-08-26
19:18
[382b3dd2b5] part of check-in [55af80035f] Merge the latest trunk changes into the apple-osx branch. (user: drh branch: apple-osx)
00:34
[817f7f7140] part of check-in [c71d73201d] Create a new pager type, PAGER_SORTER, for use in the external merge sort. Such pagers are always held in memory but do report when they are under memory pressure by calling pagerStress. (user: drh branch: trunk)
2011-06-24
20:47
[e3688b37e7] part of check-in [34f0efa2b1] Merging local changes to apple-osx (user: adam branch: apple-osx)
2011-06-01
11:26
[f582ebb449] part of check-in [2e5a912ad7] Toward version 3.7.5.1. This check-in updates the version number and also patches the pager so that it never spills cache while in WAL mode. The latter patch fixes ticket [2d1a5c67dfc23] and also prevents excessive WAL file sizes if the pager cache starts thrashing. A few test cases fail. (user: drh branch: branch-3.7.5)
2011-05-31
17:08
[2cf3bad86e] part of check-in [2c6b5a28e3] Merge the latest trunk changes into the wal-readonly branch. (user: drh branch: wal-readonly)
2011-05-20
01:49
[120550e7ef] part of check-in [3e8a29ff89] Mark an unreachable branch in the recent WAL problem as unreachable. (user: drh branch: trunk)
2011-05-19
02:34
[928d50d35d] part of check-in [5791232778c] Bring the apple-wal-readonly branch up to date with the latest changes in apple-osx, and especially the fix for disappearing WAL transactions. (user: drh branch: apple-wal-readonly)
01:46
[f501684d8c] part of check-in [e4d0f7ace8] Backport the 67bf1c9a88 fix for vanishing WAL transactions due to small cache spillage. Ticket [2d1a5c67dfc236]. Also bump the version number to 3.7.6.3 in preparation for patch release. (user: drh branch: branch-3.7.6)
01:21
[4b2358556c] part of check-in [67bf1c9a88] When committing a WAL transaction, make sure at least one page is written to the WAL file so that the WAL subsystem will have a page on which to set the commit flag. Ticket [2d1a5c67dfc236]. (user: drh branch: trunk)
2011-05-17
20:36
[b7fe4b8e51] part of check-in [96d6098560] Add the ability to limit filenames to 8+3 using the SQLITE_ENABLE_8_3_NAMES compile-time option together with a URI parameter of "8_3_names=1". (user: drh branch: trunk)
2011-05-16
21:00
[ebf0411b03] part of check-in [db7e500f69] Enhance WAL mode so that the WAL file honors the journal size limit set by PRAGMA journal_size_limit. (user: drh branch: trunk)
2011-05-11
14:57
[4056376f83] part of check-in [671ba5fc59] Only open a read-only connection to shared-memory if the "readonly_shm=1" option is specified as part of the database file URI (and if a read-write connection fails). (user: dan branch: wal-readonly)
2011-05-06
18:55
[24b689bc36] part of check-in [88df33c45f] Merge the uri branch with the trunk. (user: dan branch: trunk)
2011-05-01
22:57
[ff40d2a98f] part of check-in [7155e6f328] Backport check-ins 0900e35348f4b9bf3 and 4fead8e714c7e50 to the 3.7.2 branch. These check-ins provide hints to the btree layer for when it is possible to use a hash table rather than a btree to implement an index. The SQLite BTree layer does not use these hints, but alternative btree layers might. (user: drh branch: branch-3.7.2)
2011-04-05
16:09
[055239dcdf] part of check-in [311d0b613d] When committing a WAL transaction, do not write any pages to the WAL file with page numbers greater than the size of the database image in pages. (user: dan branch: trunk)
2011-02-24
21:10
[6aa906b60a] part of check-in [af4756184a] Fix a typo in a comment. No changes to code. (user: drh branch: trunk)
2011-02-20
03:32
[5b2210b430] part of check-in [442be1358e] Make sure the change-counter and SQLite-version fields of the header are set correctly even after vacuuming. This is a backport of changes 0be92a7576 and 04fa1e1690 to address ticket [5d863f876ee]. (user: drh branch: branch-3.7.4)
2011-02-02
16:34
[d62dfc1d77] part of check-in [bac7342c36] Merge in the blocking-checkpoint enhancement, including the new sqlite3_wal_checkpoint_v2() interface and the PRAGMA wal_checkpoint(full) statement. (user: drh branch: trunk)
04:40
[c22b853159] part of check-in [c6d9f7d8c4] Merge fts4aux branch. (user: dan branch: trunk)
2011-01-28
15:46
[b0fcbe3038] part of check-in [874bc8844f] Change pager_truncate() to a different method for extending files while also ensuring that writes are page-size and page-aligned. (user: drh branch: trunk)
15:07
[3327c90393] part of check-in [58577135a8] When extending a database file, do so by writing one or more page-size chunks of data to the file, instead of just a single byte to the end. (user: dan branch: trunk)
2011-01-25
16:48
[37696d876b] part of check-in [f12b5d7685] Make sure the return code from doing an xSync is correctly initialized so that a valid return code is produced regardless of the path taken through the logic. (user: drh branch: trunk)
16:20
[c8975ac965] part of check-in [64914980855d] Change the name of SQLITE_FCNTL_SYNC to SQLITE_FCNTL_SYNC_OMITTED and only send it when PRAGMA synchronous=OFF. Add better documentation to explain what that file-control opcode is used for. (user: drh branch: trunk)
11:33
[eb355fc87c] part of check-in [13108ce13c] Fix a broken assert() in pager.c. (user: dan branch: trunk)
2011-01-17
02:24
[60d79b73d9] part of check-in [b93f6f3e67] Add back an ALWAYS() to regain full test coverage. (user: drh branch: trunk)
2011-01-16
00:56
[8b6eb723cb] part of check-in [04fa1e1690] Make sure the change-counter and SQLite-version fields of the header are set correctly even when doing a VACUUM with locking_mode=EXCLUSIVE. Ticket [5d863f876ee9561b]. (user: drh branch: trunk)
2011-01-15
21:42
[3e3e5cd397] part of check-in [0be92a7576] Make sure the change counter and SQLite version numbers in the header are set correctly, even when running in WAL mode and when VACUUMing in WAL mode. Ticket [5d863f876ee9561b9]. (user: drh branch: trunk)
17:12
[737025a2e7] part of check-in [c1e0d09cd3] Increment the change counter and update the SQLite version number whenever page 1 is added to the WAL. Ticket [5d863f876ee9561b9] (user: drh branch: bug-5d863f87)
2011-01-11
17:39
[ceceb5e20d] part of check-in [b3f2f465c3] Add the SQLITE_FCNTL_SYNC file-control. (user: dan branch: trunk)
16:09
[a3d1b55d45] part of check-in [ece7efce27] If a rollback is attempted in journal_mode=off mode, force SQLite to discard the contents of the pager cache before processing any subsequent queries. (user: dan branch: trunk)
2010-11-23
20:25
[c0aca5c733] part of check-in [30c26c3b13] The previous check-in with changes to the max_page_count pragma was not quite correct. This check-in fixes the problem. (user: drh branch: trunk)
2010-11-19
18:51
[b3e86e5d27] part of check-in [ebf74015f0] Merge the checkpoint_fullfsync pragma and the superlock demonstration into the checkpoint-v2 experimental branch. (user: drh branch: blocking-checkpoint)
18:23
[a8b36940ca] part of check-in [a069867301] Add the checkpoint_fullfsync pragma which enables F_FULLFSYNC on checkpoint operations only, not during ordinary commit fsyncs. (user: drh branch: trunk)
2010-11-18
12:11
[b46a78a196] part of check-in [72787c010c] Modify the interface to the blocking wal-checkpoint functionality. (user: dan branch: blocking-checkpoint)
2010-11-16
18:56
[7f7587c2f1] part of check-in [7e3fc2c833] Add experimental command "PRAGMA wal_blocking_checkpoint", which uses the busy-handler to block until all readers have finished in order to ensure the next writer will be able to wrap around to the start of the log file. (user: dan branch: blocking-checkpoint)
2010-11-09
20:33
[067ae23d7a] part of check-in [e068758222] Fix an assert that fired incorrectly when PRAGMA omit_readlock was set. (user: shaneh branch: trunk)
20:08
[b9809c3198] part of check-in [756589ad6e] Add "PRAGMA checkpoint_fullfsync". Similar to "PRAGMA fullfsync", but enables full fsyncs only during checkpoint operations. Update: This change was added to the trunk by check-in a069867301de3ca2e17 (user: dan branch: apple-osx-exp)
00:47
[58befaf925] part of check-in [77b343cfc3] Experimental changes to test defaulting to fullfsync for WAL mode (user: adam branch: apple-osx-exp)
2010-11-04
04:47
[1b0e87deb3] part of check-in [3104f17e5d] Include the print_pager_state() function only if SQLITE_DEBUG is defined. (user: dan branch: trunk)
2010-11-01
17:38
[c19b0e8d49] part of check-in [8dd5c69198] If a database file with the WAL flag set is opened in exclusive-locking mode, use heap memory to store the wal-index instead of shared-memory. (user: dan branch: trunk)
2010-10-22
13:55
[d9858b47b2] part of check-in [f000ac1e52] Prevent an assert from failing when opening a zero-length database file with an apparently hot journal with locking_mode=exclusive set. (user: dan branch: trunk)
2010-10-05
17:02
[6c6dde871c] part of check-in [471a4efbb7] Have the pager change to at least WRITER_CACHEMOD state before marking any pages as dirty (instead of immediately after). Otherwise, if an error occurs, the pager may be left in WRITER_LOCKED state with dirty pages in the cache. (user: dan branch: trunk)
2010-09-18
19:36
[4760042267a] part of check-in [e14ef0e8b4] Make sure the pager cache is cleared if there is any difficulty starting a new read transaction in WAL mode. Ticket [313723c356483eff2a4c4bdd2c]. (user: drh branch: trunk)
2010-08-31
01:09
[51d77a9df4] part of check-in [86bcb9aab9] Remove unreachable branches to facilitate test coverage. (user: drh branch: trunk)
2010-08-30
15:02
[cf462c23ef] part of check-in [0900e35348] Remove the sqlite3BtreeFactory() wrapper routine. All modules now call sqlite3BtreeOpen() directly. (user: drh branch: trunk)
2010-08-26
05:23
[59ded919ee] part of check-in [afb2484c64] Simplification of changes for SQLITE_OMIT_WAL support in pager.c. (user: shaneh branch: trunk)
2010-08-24
18:35
[48556db031] part of check-in [d1ed743b6e] Changes to support building with SQLITE_OMIT_WAL. (user: shaneh branch: trunk)
01:08
[8f6ff6ca8e] part of check-in [415c448dc4] Merge changes through release 3.7.2 into the apple-osx branch. (user: drh branch: apple-osx)
2010-08-23
18:19
[a5f5d9787b] part of check-in [21a1e5961b] Fixes for the SQLITE_CHECK_PAGES debugging feature. (user: dan branch: trunk)
2010-08-19
15:11
[3e9815178b] part of check-in [b9170f2903] Modify the code for reading hot-journal files so that it can handle journals generated by versions 3.5.7 and earlier. (user: dan branch: trunk)
2010-08-18
02:28
[8b73d7f47d] part of check-in [1f5662b7db] Fix some compiler warnings in the MSVC build. (user: shaneh branch: trunk)
00:24
[e75ccadfe0] part of check-in [866e9286ae] Merge the 3.7.1 pre-release snapshot changes as of 2010-08-18 into the apple-osx branch. (user: drh branch: apple-osx)
2010-08-17
19:49
[3c0f1bd2f6] part of check-in [acb171d4cf] Remove a NEVER() that is actually reachable. (user: drh branch: trunk)
19:40
[67193153fa] part of check-in [3f8c068a41] Suppress harmless compiler warning. (user: drh branch: trunk)
18:37
[db2c8d85ac] part of check-in [d7ed463496] It is no longer possible to reach pagerStress() while in the error state, so put a NEVER() around the error state test of that routine. (user: drh branch: trunk)
18:15
[10cc26721a] part of check-in [8ac185236e] If an SQLITE_FULL error occurs during rollback or journal finalization, treat it in the same way as SQLITE_IOERR (i.e. require that the pager internals be completely reset before it is next read from or written to). (user: dan branch: trunk)
17:25
[ddef1e661f] part of check-in [61c64b3aeb] Changes to pager for improved testability. (user: drh branch: trunk)
2010-08-16
20:02
[5a4fdd063b] part of check-in [4271a95c82] Remove an superfluous branch from pager.c. (user: drh branch: trunk)
2010-08-14
17:12
[6d9ceacc88] part of check-in [7dd78eb797] Change sqlite3PagerPagecount() to return void, since the return value was always SQLITE_OK and was never used. (user: drh branch: trunk)
12:42
[afcd1f6f70] part of check-in [68a49f7fe3] Tweaks to comments in pager.c. Fix two compiler warnings. (user: drh branch: trunk)
2010-08-12
16:36
[4e144b4525] part of check-in [02def8f925] If an error occurs in PagerSetPagesize(), set the output variable to the unmodified page-size before returning. (user: dan branch: trunk)
11:25
[ff51a76c80] part of check-in [228c5b16af] Add coverage tests for pager.c. (user: dan branch: trunk)
02:41
[39be42c323] part of check-in [45362437d4] Increase the maximum page size from 32k to 64k. (user: drh branch: trunk)
2010-08-11
18:56
[3fb56c4d03] part of check-in [2fa05d01b6] Improve coverage of pager.c. (user: dan branch: trunk)
06:04
[b3db762350] part of check-in [aa092ac928] Merge experimental changes into trunk. (user: dan branch: trunk)
2010-08-10
09:58
[6e8316c94f] part of check-in [eb3ac895bd] Add variable pager.dbHintSize, used to limit the number of calls made to the xFileControl(FCNTL_SIZE_HINT) method. (user: dan branch: experimental)
2010-08-09
19:17
[df8e60594f] part of check-in [5662da6d4f] Modify some comments in pager.c. (user: dan branch: experimental)
16:12
[ad850e0b05] part of check-in [f229487ccc] Fix a memory leak in test_journal.c causing tests to fail. (user: dan branch: experimental)
2010-08-07
16:17
[3af4caaa32] part of check-in [92e456374b] Fix minor problems and update comments in pager.c. (user: dan branch: experimental)
11:46
[c0f3c60b70] part of check-in [f88c6367d2] Merge in all changes up to the 3.7.0.1 release. (user: drh branch: apple-osx)
09:31
[9621456e9f] part of check-in [531abc8085] Fix a problem wherein changing the journal-mode immediately after leaving exclusive-locking mode could lead to the database being unlocked without clearing the changeCountDone flag. (user: dan branch: experimental)
2010-08-06
17:18
[2dffe4d468] part of check-in [876162c7e0] Further enhancements to comments in pager.c. (user: dan branch: experimental)
13:53
[c905bca55b] part of check-in [aef6698c73] Merge trunk changes into experimental branch. (user: dan branch: experimental)
12:00
[3ac13a537a] part of check-in [5f4c17a33f] Further updates to comments in pager.c. (user: dan branch: experimental)
06:54
[f8fdab85e2] part of check-in [6217b607f0] Fix a bug to do with deleting the journal file when exiting exclusive-locking mode. (user: dan branch: experimental)
2010-08-05
18:53
[07bda904e5] part of check-in [54eff6de9d] Add comments describing UNKNOWN_LOCK to pager.c. Improve some other comments in the same file. (user: dan branch: experimental)
16:08
[7232578996c] part of check-in [800f496929] Catch an error code that was not being propagated back to the caller. (user: dan branch: experimental)
15:30
[c09ca0cf83] part of check-in [f99a902f9b] Fixes for error handling with temp databases. And for errors that occur within OS locking primitives. (user: dan branch: experimental)
2010-08-04
19:14
[d181fe863c] part of check-in [77eaab6f77] Fix some problems with error recovery introduced while reworking pager state. (user: dan branch: experimental)
2010-08-03
18:29
[a5f55fb219] part of check-in [15368a9f85] Merge trunk changes into experimental branch. (user: dan branch: experimental)
18:18
[b48eb75d41] part of check-in [4d384761d2] Set the Pager.eState variable to PAGER_ERROR whenever the pager enters the error state. (user: dan branch: experimental)
15:57
[809f4dfbca] part of check-in [fde4c59782] Add comments to clarify the purpose of the pager "error state". (user: dan branch: experimental)
12:48
[24f978063f] part of check-in [16dcf5a6d3] Add state diagram to comments in experimental version of pager.c. (user: dan branch: experimental)
06:42
[a228692576] part of check-in [0a636798bd] Incremental checkin on pager state refactoring. (user: dan branch: experimental)
2010-08-02
14:32
[94f00bedf9] part of check-in [03a240514a] Experimental refactoring of the Pager object state. This version is surely buggy. (user: dan branch: experimental)
2010-07-30
16:44
[202e3dcb3f] part of check-in [6758f6a8ec] Remove a test from sqlite3PagerCommitPhaseOne which is now always true after the multi-file transaction fix. (user: drh branch: trunk)
15:43
[3e152b4473] part of check-in [347f22a5b7] Remove variable Pager.needSync, which was almost completely unused. (user: dan branch: experimental)
14:39
[d493b8164e] part of check-in [87e0f4e184] Merge trunk changes into experimental again. (user: dan branch: experimental)
11:31
[3f2373792c] part of check-in [ad78ccacb0] Changes to the comments describing the Pager.setMaster variable in pager.c. Add an assert() statement to verify that two master journal pointers are not written to a single journal file. (user: dan branch: trunk)
11:20
[d559cc0bb7] part of check-in [40f7f0a583] Cherry-pick the multi-file transaction fix for ticket [f3e5abed55] out of the experimental branch. (user: drh branch: trunk)
10:02
[237bee4c1c] part of check-in [50c0f2202d] Make sure a connection has an exclusive lock on all database files involved in a multi-file transaction before writing the master-journal pointer into any journal files. Fix for [f3e5abed55]. (user: dan branch: experimental)
07:26
[65efcf8cc7] part of check-in [fb847d7040] Merge further trunk changes into experimental branch. (user: dan branch: experimental)
2010-07-29
10:13
[33117640d8] part of check-in [4b97f8640e] Unconditionally include the pTmpSpace size in the estimate of the pager memory used. (user: drh branch: trunk)
2010-07-28
18:35
[4cf634d809] part of check-in [aa81900153] Merge trunk changes into experimental branch. (user: dan branch: experimental)
17:36
[b877df9489] part of check-in [ae89777e7f] Improve the accuracy of the Pager heap usage estimate. (user: drh branch: trunk)
14:26
[27ace2e07c] part of check-in [a038688c99] Support FCNTL_CHUNK_SIZE on windows too. (user: dan branch: experimental)
2010-07-14
00:22
[78ca1e1f33] part of check-in [2b68e50268] Remove the xShmOpen method from the VFS. Shared-memory is opened automatically by a call to xShmMap. Rename the xShmClose method to xShmUnmap. (user: drh branch: trunk)
2010-07-08
19:19
[1d42e2cdaa] part of check-in [bcdddba4f0] Replace code that became unreachable due to the journal_mode simplification with an assert(). (user: drh branch: trunk)
2010-07-07
17:53
[1ef321efa5] part of check-in [fb62f4e3a7] When rolling back a savepoint, reset the changeCountDone flag. (user: dan branch: trunk)
16:18
[39f61b5161] part of check-in [e92de834a3] Do not make the SQLITE_FCNTL_SIZE_HINT call if an error has already occurred during transaction commit. (user: dan branch: trunk)
14:19
[23e3b0d774] part of check-in [b317937943] Avoid the need for a NEVER() from pager_write_pagelist() by passing in pPager as an extra parameter. (user: drh branch: trunk)
2010-07-05
19:13
[311571e62f] part of check-in [a1324d125e] Simplify the previous commit by removing the pagerCheckForOrDeleteWAL() wrapper. (user: dan branch: trunk)
19:03
[d6454d3799] part of check-in [3053a4ad15] Allocate a buffer containing the full path-name to the associated WAL file when a pager is created. This saves having to construct a new buffer each time a new read-transaction is opened and SQLite checks for the existance of a WAL file. (user: dan branch: trunk)
17:43
[14ec8ea3d2] part of check-in [c0d124da88] When rolling back page 1 from a journal, restore the "nReserve" setting in case it has been corrupted by a prior crash. (user: drh branch: trunk)
2010-07-03
13:50
[e4470e43f0] part of check-in [622378dbe3] Fix an assert in pager.c. And various test cases that fail with the in-memory journal permutation. (user: dan branch: trunk)
12:31
[eee7ac31ce] part of check-in [48bf309391] Cherry-pick the correct changes out of the recent "mistake" branch while omitting the bugs. (user: drh branch: trunk)
2010-07-02
17:05
Deleted by check-in [708338773919f] Fix some warnings when compiling under MSVC. (user: shaneh branch: mistake)
15:35
[95068d8b0f] part of check-in [01c1278263] Remove an unused call to sqlite3PageBegin() from pager_write(). Replace it with an assert(). (user: drh branch: trunk)
01:18
[3808cf9cbe] part of check-in [6ae7617298] Add a NEVER to sqlite3PagerCommitPhaseTwo() because it is now no longer possible to invoke that function without holding a RESERVED lock. (user: drh branch: trunk)
2010-07-01
19:45
[2ce3612ab0] part of check-in [95c69dfbdd] If you delete a database file but not its *-wal file, then open the database (thus creating a new empty database file) the *-wal file is automatically deleted. (user: drh branch: trunk)
15:09
[19975354882e] part of check-in [a8f6341d3b] Add pager test cases. Change a condition in pager.c to NEVER(). (user: dan branch: trunk)
2010-06-30
10:36
[778df1ad25] part of check-in [8e65c0e3da] Add further test cases. Fix an assert() in pager.c. (user: dan branch: trunk)
04:36
[813d09dd66] part of check-in [cdf2c5c2dd] Do not call pager_open_journal() from within PagerBegin() if the connection is in exclusive-access mode. It will be called from within PagerWrite() just as it is for non-exclusive mode anyway. (user: dan branch: trunk)
04:29
[c7cf3aa7d9] part of check-in [5e19bc360e] Add coverage test cases. Have sqlite3_backup_step() transform SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. (user: dan branch: trunk)
2010-06-28
11:23
[57713740025d] part of check-in [3b68cb9c65] Fix some errors when compiling with SQLITE_OMIT_WAL. (user: dan branch: trunk)
2010-06-26
21:34
[05bd0bd2a6] part of check-in [e82d008eaf] Suppress various compiler warnings. (user: drh branch: trunk)
20:00
[363ac12d79] part of check-in [29571e228c] Suppress a couple uninitialized variable warnings. (user: drh branch: trunk)
19:02
[13e4675ae5] part of check-in [42b8bd1c70] Remove a NEVER() in pager that can in fact be reached in obscure failure cases. (user: drh branch: trunk)
17:15
[926ca10193] part of check-in [56c7d111bf] Fix a case where the doNotSyncSpill flag may remain permanently set following an IO error. (user: dan branch: trunk)
15:42
[db0de9e047] part of check-in [2eaf5ee0d9] When synchronous=NORMAL, use the same journal file format as with synchronous=FULL (i.e. multiple journal headers within the one journal). Fix for [d11f09d36e]. (user: dan branch: trunk)
2010-06-24
18:36
[edf1f8b02b] part of check-in [7d83fbae98] Revert to allowing a cache spill during writes of multiple pages within a single sector as long as the spill does not require a journal sync and a new journal header. (user: drh branch: trunk)
14:52
[24a9be67a5] part of check-in [a55eb4c3e9] Disable memory-pressure induced cache spill during savepoint rollback. (user: drh branch: trunk)
10:50
[c1c7f49879] part of check-in [7aac9ad6dd] Add coverage tests. Remove a NEVER macro from pager.c, as the condition can now be true in wal mode. (user: dan branch: trunk)
2010-06-23
19:27
[e42b2e21c8] part of check-in [3e9680c4c1] Add test case for SQLITE_FULL errors to pagerfault.test. Remove a NEVER macro in pager.c that this hits. (user: dan branch: trunk)
15:04
[f16d9f21c4] part of check-in [8bfbdec647] Simplifications to the pager_delmaster() implementation. (user: drh branch: trunk)
2010-06-22
21:15
[54719676081c] part of check-in [2c90276e34] Disable code used only by the codec when the codec is not deployed. (user: drh branch: trunk)
15:18
[0517562e70] part of check-in [393741eba3] Add codec support to wal mode. (user: dan branch: trunk)
13:46
[3c269ecaab] part of check-in [85dd51a75c] Some changes to test scripts related to codec enabled versions of sqlite. (user: dan branch: trunk)
2010-06-21
21:45
[4afcd7027c] part of check-in [82b38fca1a] Minor tweaks to get the pager working for corner cases when the SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN flag is set. (user: drh branch: trunk)
20:19
[50659082fb] part of check-in [f820b815c9] Fix comment inside the pager_unlock() routine. Always close the master journal file before trying to delete it. (user: drh branch: trunk)
12:47
[9f138b79b4] part of check-in [ee0acef1fa] Merge the experimental UNDELETABLE_WHEN_OPEN optimization into the trunk. (user: drh branch: trunk)
2010-06-19
18:12
[6ebb43239a] part of check-in [5a5ff4e3e4] Change the name of IOCAP_SAFE_DELETE to IOCAP_UNDELETABLE_WHEN_OPEN. Have the xDeviceCharacteristics() method of the win32 VFS return this flag. (user: dan branch: experimental)
2010-06-17
17:05
[4fe451d689] part of check-in [9a949a3a5c] Apply b9b11855e8 (the alternate fix to [fc62af4523]) to the trunk. (user: dan branch: trunk)
16:44
[5968e0d73f] part of check-in [b9b11855e8] A different fix to [fc62af4523]. When changing from journal_mode=PERSIST or TRINCATE to some other rollback mode, delete the journal file only if a RESERVED lock can be obtained on the database file first. (user: dan branch: experimental)
10:52
[658e5063d2] part of check-in [9f6ea1de5a] Merge trunk updates with experimental branch. Also add tests to journal2.test. (user: dan branch: experimental)
10:42
[b5584c5e75] part of check-in [1ec74591a9] Do not delete the journal file in "PRAGMA journal_mode" commands. This fixes [fc62af4523]. (user: dan branch: trunk)
06:19
[3b2527d9d6] part of check-in [20133e9ca9] Merge fix f80c3f922a with experimental changes. (user: dan branch: experimental)
02:13
[7f0ebd5dca] part of check-in [f80c3f922a] Bug fix: Only trust the database size number at offset 28 if the change counter at offset 24 matches the version number counter at offset 92. This prevents corruption in the case of two applications writing to the database where one is an older version of SQLite and the other is a newer version. (user: drh branch: trunk)
2010-06-16
19:04
[133cc49da0] part of check-in [bede8c8a14] Experimental change: On systems where it is not possible to unlink a file while one or more processes has it open (i.e. not unix), avoid closing the journal file each time the database is unlocked and reopening it at the start of each transaction. (user: dan branch: experimental)
2010-06-11
17:01
[2964185d43] part of check-in [95cc3f6fde] Refactor and simplify the logic used to change journalmode. (user: drh branch: trunk)
2010-06-10
01:07
[dde0b74477] part of check-in [7abcd54ec0] Remove a condition that must always be true. Replace it with an assert(). (user: drh branch: trunk)
2010-06-03
12:35
[bd9647a741] part of check-in [c43deb33ae] Delay opening the sub-journal until SQLite actually needs to write data to it. (user: dan branch: trunk)
09:01
[1eca1ede7d] part of check-in [91cb08ffb6] If a malloc fails while allocating a savepoint object at the pager level, do not try to roll that savepoint back later on. (user: dan branch: trunk)
2010-06-02
17:15
[fa5ce633da] part of check-in [cb571c1b71] If an error occurs while writing frames to the log to commit a transaction, do not mark the pages as clean in the cache. Otherwise, the subsequent rollback does not roll them back (leaving the client to continue with a cache that makes it appear that the transaction was committed - inconsistent with the database on disk). (user: dan branch: trunk)
2010-06-01
15:24
[acbef227bf] part of check-in [1d3e569e59] The incremental checkpoint feature is not perfect yet, but it is working well enough to merge it into the trunk. (user: drh branch: trunk)
2010-05-30
19:55
[f7128f0262] part of check-in [ef3ba7a17f] Initial code for incremental checkpoint in WAL mode. This check-in compiles on unix and runs as long as you do not engage WAL mode. WAL mode crashes and burns. Consider this check-in a baseline implementation for getting the new capability up and running. (user: drh branch: wal-incr-ckpt)
2010-05-25
02:24
[5d693cc627] part of check-in [54c1718e6d] Remove unreachable code associated with WAL from the pager. (user: drh branch: trunk)
2010-05-24
13:57
[0fbfe2ccd9] part of check-in [8a53f12c83] Change the checksum used in WAL files so that each frames checksum depends on the content of the WAL header and all frame headers and content up to and including the frame to which the checksum is attached. (user: dan branch: trunk)
2010-05-19
22:09
[e39ac88769] part of check-in [776679af58] Cherry-pick the SQLITE_FCNTL_SIZE_HINT patch (check-in 2b7e3b4a30d6a7c4a8 and bump the version number to 3.6.23.2. (user: drh branch: branch-3.6.23)
19:26
[d3284a6bbe] part of check-in [2b7e3b4a30] Add the SQLITE_FCNTL_SIZE_HINT operator to sqlite3_file_control() and use it to give the VFS hints about the ultimate size of a database file when the file is growing. (user: drh branch: trunk)
2010-05-18
12:37
[c78c955806] part of check-in [97d88a86e4] Keep additional state information in the pager in an effort to reduce the number of SQLITE_FCNTL_SIZE_HINTs. (Note: This change was found to make no performance difference and so has been moved onto a side branch. Use the parent check-in instead of this one.) (user: drh branch: branch-3.6.1-exp)
2010-05-17
15:52
[e6b49d1b01] part of check-in [a1d20ceb9c] An improvement to the SQLITE_FCNTL_SIZE_HINT change that invokes the hint less often and only when really needed. (user: drh branch: branch-3.6.1)
15:33
[a7470e877d] part of check-in [9a08371171] Invoke the SQLITE_FCNTL_SIZE_HINT opcode on the sqlite3_file_control() interface for database files before extending the size of the file. The VFS can use this hint to preallocate space. (user: drh branch: branch-3.6.1)
2010-05-13
08:53
[1e163a82ae] part of check-in [bce21c1838] The refactored of VFS SHM primitives are now working so merge the wal-refactor branch back into the trunk. (user: drh branch: trunk)
2010-05-11
14:00
[ad9cb3bea7] part of check-in [cf3d1e0b8a] When an attempt to change journal_mode fails due to locks, be sure to leave internal structures in a consistent state. (user: drh branch: trunk)
12:19
[871ccb53e9] part of check-in [71e7b1cf9f] Changes so that WAL and exclusive-locking mode work together. (user: dan branch: trunk)
2010-05-06
19:20
[a47af9c2c9] part of check-in [32a8501d78] Changes to support SQLITE_OMIT_WAL. (user: shaneh branch: trunk)
15:56
[d6e9edb629] part of check-in [98a9713e00] Further coverage tests. (user: dan branch: trunk)
2010-05-04
18:50
[224df6ad5f] part of check-in [4016b42228] When sqlite3PagerPagecount() is called without any locks, always return the physical file size, not the logical file size. (user: drh branch: trunk)
14:47
[f030536592] part of check-in [1a391f3c55] Fix problems with recovering wal files that use a page-size other than the default. (user: dan branch: trunk)
2010-05-03
14:08
[e9c7fe979b] part of check-in [de9ae443cc] Merge the write-ahead-logging changes into the trunk. (user: drh branch: trunk)
2010-04-30
09:52
[434f9751fc] part of check-in [a8f958be80] Fix a couple of assert() statements in os_unix.c and wal.c. Combine sqlite3WalIsDirty() with sqlite3WalUndo(). (user: dan branch: wal)
2010-04-29
22:34
[07c3522319] part of check-in [62db5fa3b6] Refactor wal.c to use the VFS. This check-in compiles and links and works ok as long as you leave WAL turned off, but WAL does not work. (user: drh branch: wal)
2010-04-26
16:57
[b4a4103086] part of check-in [6a944f028d] Fixes for problems with small caches and SAVEPOINT rollback in WAL mode. (user: dan branch: wal)
00:19
[5924538fb9] part of check-in [56fe5d7624] Change the names of the log.c and log.h source files to wal.c and wal.h. (user: drh branch: wal)
2010-04-24
18:44
[9da40bb50d] part of check-in [31215969f5] Fix bugs in WAL mode rollback. (user: dan branch: wal)
2010-04-23
19:15
[485a34834a] part of check-in [480d12db4c] Fixes and tests for backup of a WAL database. (user: dan branch: wal)
2010-04-22
19:14
[d83d2ea6d2] part of check-in [5d6d4423d1] Create a version of the log checksummer that works on big-endian platforms. Remove the 512KB size limit on the log-summary. (user: dan branch: wal)
06:27
[06fb9b8b7c] part of check-in [1236318477787a] Further tests and changes related to switching between WAL and rollback modes. (user: dan branch: wal)
2010-04-21
18:37
[f20f909045] part of check-in [9f4f933f2c] Tests for (and changes to) the code to switch between WAL and rollback modes. (user: dan branch: wal)
11:43
[4ff50f4e72] part of check-in [33cabf271b] If, after obtaining a SHARED lock, there exists a *-wal file in the file-system, use WAL mode. This is necessary to recover from a crash that damages the first page of the database file. (user: dan branch: wal)
2010-04-20
18:53
[1dcf76bead] part of check-in [96bef18c14] Use the read and write version fields of the database header to mark a database as operating in wal-mode. (user: dan branch: wal)
2010-04-19
18:03
[f9ad51dfa6] part of check-in [9bda601455] Add the sqlite3_log_hook() interface for scheduling checkpoints. (user: dan branch: wal)
2010-04-17
17:34
[344eddf3c5] part of check-in [0ae91b0008] Do not sync any files in wal mode if "PRAGMA synchronous=off" is set. If files are synced, pass either SQLITE_SYNC_FULL or SQLITE_SYNC_NORMAL to the xSync() callback as configured by "PRAGMA fullfsync". (user: dan branch: wal)
15:42
[751ada65b9] part of check-in [9bc9b68473] In synchronous=normal mode, do not sync the log after every transaction. In synchronous=full mode, sync the log and add any extra frames required to avoid blast-radius related problems after each transaction. (user: dan branch: wal)
12:31
[674d6558a6] part of check-in [8549c28649] Enhancements to wal-mode locking scheme. (user: dan branch: wal)
2010-04-16
11:30
[35c7e3b5bb] part of check-in [67d2a89ec2] Fix bug in log recovery (last frame in log was being ignored). Also remove an incorrect assert statement. (user: dan branch: wal)
2010-04-15
16:45
[80054194c1] part of check-in [ecd828f969] Allow writers to write dirty pages to the log mid-transaction in order to free memory. (user: dan branch: wal)
2010-04-13
19:27
[9e9ee38c92] part of check-in [3f958e87c3] Add experimental locking scheme. (user: dan branch: wal)
15:30
[c4937e7175] part of check-in [f4e1150fed] Fix an uninitialized variable in readDbPage of pager.c. (user: drh branch: wal)
11:56
[88cbb683c9] part of check-in [27dc5977c1] Remove old code to interpret an argument (no longer used) to "PRAGMA checkpoint". (user: dan branch: wal)
11:18
[020c29713e] part of check-in [4a0b29dc5e] Fix a pager bug introduced by the wal code. (user: dan branch: wal)
2010-04-12
19:00
[d61318cd04] part of check-in [409d61baeb] Import experimental write-ahead-logging code. (user: dan branch: wal)
17:08
[da5ed17bb7] part of check-in [51a6139508] Fix a problem where a process in exclusive mode could delete a hot-journal file without rolling it back from within sqlite3_close() or DETACH. This problem was introduced by commits from the past few days; it is not present in any release. (user: dan branch: trunk)
2010-04-10
17:52
[bde3cc7942] part of check-in [0906597698b] Fix issues and clarify the operation of pager_playback_one_page(). A block comment in pager.c identifies 13 invariants on the pager subsystem. Ticket [9d68c883132c8]. (user: drh branch: trunk)
2010-04-09
15:34
[ab2482d819] part of check-in [8c046eb6d1] Candidate fix for a pager bug associated with sqlite3PagerMovepage(). (user: drh branch: trunk)
2010-04-03
13:08
[044c27315e] part of check-in [7626f6c9ea] Silently abandon a rollback if the journal has been truncated. (user: drh branch: trunk)
2010-04-02
13:25
[4f21866040] part of check-in [d64d181c79] Check for a failure in the call to sqlite3PagerPagecount() from within sqlite3PagerWrite(). (Error discovered by valgrind.) (user: drh branch: trunk)
03:39
[2ac73f55f5] part of check-in [b04a45ea97] Pager changes for code coverage testing. (user: drh branch: trunk)
2010-04-01
13:41
[7ea0549f43] part of check-in [b1e7a1a677] Do not journal the content of freelist leaf pages. This restores an optimization that was accidently undone by check-in 12f7346c13 on 2009-01-20. (user: drh branch: trunk)
02:47
[2e91228dc3] part of check-in [8f00533782] Remove a NEVER in sqlite3PagerPagecount() that can in fact be true. (user: drh branch: trunk)
2010-03-31
23:20
[600058c0cd] part of check-in [8aecf302a5] Make sure an OOM error on sqlite3PagerPagecount() is detected and reported out to the interface. (user: drh branch: trunk)
02:31
[d9f426234c] part of check-in [dbc2c3c014] Increase test coverage following the introduction of the new filesize-in-header logic. (user: drh branch: trunk)
2010-03-30
22:58
[0fcd5b4359] part of check-in [79e22b9503] Continuing refinements to the filesize-in-header enhancement. (user: drh branch: trunk)
2010-03-29
21:22
[af1c58b7b8] part of check-in [0092b36c7b] Pull the experimental file-size-in-header changes into the trunk. (user: drh branch: trunk)
2010-03-26
17:37
[1915e3ec1a] part of check-in [ca0bc2a22e] After any rollback that modifies the database file, sync the database before deleting the rollback journal. This is a cherry-pick merge of check-ins b21b911f23 and f2326dad4e (user: drh branch: branch-3.6.23)
2010-03-22
23:55
[cba88e3121] part of check-in [82dd61fccf] Sync the database file after a rollback. This is a cherrypick merge of check-in b21b911f23. (user: drh branch: branch-3.6.22)
17:13
[2a374f72e6] part of check-in [b21b911f23] After a rollback that writes or truncates the database file, sync the database file before invalidating the journal contents. Fix for [015d3820f2]. (user: dan branch: trunk)
2010-03-19
16:55
[26453ead93] part of check-in [146d4f5d34] Store the SQLite version number of the last writer in bytes 96..99 of the header. (user: drh branch: trunk)
16:52
[f3d8a68d15] part of check-in [69d749d93d] Make sure the in-journal boolean vector is cleared and released when ending a transaction. This fixes an obscure problem with the previous check-in. (user: drh branch: trunk)
15:48
[8e5cefa30e] part of check-in [b78e58ae15] Do not create, open, or initialize the rollback journal until something actually needs to be written into the journal. That way, expensive filesystem operations are avoided if the transaction ends up being a no-op. (user: drh branch: trunk)
2010-03-13
02:15
[db7a3988cd] part of check-in [59f75bba02] Store the database size in pages in bytes 28..31 of the header. Currently this is for forensic use only, but it might be used in the future. (user: drh branch: trunk)
2010-03-10
21:42
[59af09650f] part of check-in [418c6d8113] Add the SQLITE_DBSTATUS_CACHE_SIZE verb for sqlite3_db_status(). The highwater mark does not yet work on this verb. (user: drh branch: trunk)
2010-03-08
21:40
[80688c6fee] part of check-in [ffb6596e6c] Add NEVER and assert macros and explanatory comments for unreachable conditions. (user: drh branch: trunk)
2010-03-05
20:17
[aafc314dee] part of check-in [81ff698f62] Make sure the dbFileVers field in the Pager object is properly initialized even if there is an I/O error while reading its content off of disk. (user: drh branch: trunk)
2010-02-25
14:44
[0e7b4ddc5f] part of check-in [a255059786] Add some technically unnecessary variable initializations to silence compiler warnings. (user: dan branch: branch-3.6.1)
02:32
[71d2a70723] part of check-in [46f406b202] Merge in all of the logging enhancements. This is a cherrypick merge of the following check-ins: 103321e37a, a8076aede3, 6d910245ad, 7c4cca6d1a, edea3bb740, 1a6d4bb130, a8c984c1d6, 69a493182f, and 1168763d2c. (user: drh branch: branch-3.6.22)
01:54
[3250440da3] part of check-in [ce624e39c2] Merge in the fix for VACUUM on auto_vacuumed databases with large schemas. Check-in 86d50ce57f. Ticket [da1151f97df]. (user: drh branch: branch-3.6.22)
2010-02-23
17:36
[ace73a84f5] part of check-in [7c4cca6d1a] Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. (user: drh branch: trunk)
2010-02-22
23:17
[d0e53cd301] part of check-in [86d50ce57f] Fix an assertion-fault/segfault problem that comes up when trying to VACUUM an auto-vacuumed database with a large schema. Ticket [da1151f97df244]. (user: drh branch: trunk)
2010-02-12
18:18
[5dee83c3cf] part of check-in [f72f8a870a] Allow the secure-delete setting to be changed at run-time using a pragma. The SQLITE_SECURE_DELETE compile-time option determines the default setting. (user: drh branch: trunk)
2010-02-05
16:28
[4cf8da7cf4] part of check-in [27dc5b1c52] Avoid truncating non-in-memory sub-journals when releasing a savepoint for a small performance improvement. (user: shaneh branch: trunk)
2010-01-30
23:08
[8e6b147f46] part of check-in [bb18f57852] The iInUseDB and iInUseMM variables do not need to be volatile. (user: drh branch: branch-3.5.9)
22:28
[1f77fc8d4c] part of check-in [622c17177a] Always hold the MEM2 mutex when initially marking a pager as in use by its database connection. (user: drh branch: branch-3.5.9)
19:17
[3b7e5e4e25] part of check-in [a718e66347] Avoid a race condition in the sqlite3_release_memory() logic within pager.c. (user: drh branch: branch-3.5.9)
19:00
[ce1e539594] part of check-in [9d13acc449] Remove all cache pages from the LRU list prior to removing the pager from the pager list when closing a pager. (user: drh branch: branch-3.5.9)
18:22
[3b4bce33b0] part of check-in [c50e972f1b] Add additional pagerMutexHeld() macros to better verify the correct operation of pager.c. (user: drh branch: branch-3.5.9)
2010-01-29
21:23
[38743db63f] part of check-in [ea3b941a71] Fix a missing mutex on page cache truncation during vacuum and auto-vacuum when SQLITE_ENABLE_MEMORY_MANAGEMENT is engaged. (user: drh branch: branch-3.5.9)
19:50
[44bc914aae] part of check-in [228b8ad9dd] Additional changes suggested by Rob Stoddard. (user: drh branch: branch-3.5.9)
19:46
[aa29f273fe] part of check-in [5ed168c48e] Changes to 3.5.9 proposed by Rob Stoddard. (user: drh branch: branch-3.5.9)
2010-01-05
13:40
[e5421d3847] part of check-in [e47e213369] Make sure new pages are zeroed even when loading a freelist page using the noContent option. This prevents a harmless valgrind warning. (user: drh branch: trunk)
2009-12-02
14:44
[a0ed14b86d] part of check-in [d17ec16b7c] Clear the Pager.dbModified flag when unlocking the database. Assert that it is clear when locking the database. (user: dan branch: trunk)
2009-11-23
15:59
[b2a564bbd2] part of check-in [6ce6ff4402] Rearrange the order of two branches in order to restore 100% branch coverage after recent changes to in-memory database processing. (user: drh branch: trunk)
2009-11-21
01:33
[a5c0fa9bc0] part of check-in [f3398fc4db] Fix a bug in transaction rollback during backup when the CODEC is enabled that can result in a corrupt backup file. This is only a problem when SQLITE_HAS_CODEC is defined. (user: drh branch: trunk)
2009-11-20
18:48
[3c408c646d] part of check-in [2f42f91fe6] When moving pages as part of autovacuum on an in-memory database, make sure that the source location is journalled so that a ROLLBACK can occur. Part of the fix for ticket [564d412f15a00] (user: drh branch: trunk)
13:18
[4adc8baf93] part of check-in [9a429349cc] Avoid unnecessary page cache allocations when move a page while autovacuuming an in-memory database, since the allocation might fail making it impossible to rollback the transaction. (user: drh branch: trunk)
2009-11-11
23:58
[47343e340d] part of check-in [8861b5c160] If the sector size is unspecified (initially 0) then set it to 512, not to 32. (user: drh branch: trunk)
13:17
[f7d645a831] part of check-in [5a32bfc17e] Allow media sector sizes as small as 32. The former minimum size was 512. (user: drh branch: trunk)
2009-11-10
01:30
[e31b8fc35c] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (user: drh branch: trunk)
01:12
[c7c20ff002] part of check-in [5a9e746357] Omit some code that is not used when SQLITE_SECURE_DELETE is defined. (user: drh branch: trunk)
2009-11-06
04:13
[5b5a980aec] part of check-in [ddb71cd9ed] Fix the backup API so that a backup from an empty database to a non-empty database works. Ticket [0bf974bdf9]. The only changes are in assert() statements. (user: drh branch: trunk)
2009-11-05
18:46
[36e29a1056] part of check-in [38eaf1ab6e] Recover an ophaned branch that resulted from some ill-advised "shunning". This check-in should be identical to bd443f39a9 except that it should be on the trunk. (user: drh branch: trunk)
2009-11-02
15:51
[729f73feeb] part of check-in [79ab4714e4] Comment changes in support of better documentation. No changes to code. (user: drh branch: trunk)
2009-08-31
16:09
[ebd0a8f242] part of check-in [5e2f549683] More thorough initialization of a buffer when writing the rollback journal header, in order to prevent a harmless valgrind warning. CVSTrac ticket #4039 (user: drh branch: trunk)
2009-08-10
17:48
[a47be28647] part of check-in [8e1e0ba292] Reduce the maximum supported sector size to 64KiB. (CVS 6970) (user: drh branch: trunk)
2009-07-27
14:15
[4aa16cc8bc] part of check-in [224bc69a04] If there is a hot-journal in the file-system, a connection with journal_mode=memory set may have to open it to effect rollback. Account for this in pager_end_transaction(). This prevents an assert from failing in the in-memory journal permutation test. (CVS 6947) (user: danielk1977 branch: trunk)
2009-07-25
22:13
[36a14ae254] part of check-in [886e665f6c] The noReadlock property on a pager object implies the readOnly property. Use this fact to simplify the logic in sqlite3PagerSharedLock(). (CVS 6944) (user: drh branch: trunk)
19:31
[a9ce18aaef] part of check-in [f0024b3189] Remove obsolete assert and testcase macros related to ticket #2565 (CVS 6943) (user: drh branch: trunk)
17:39
[f050740b62] part of check-in [1d931f7751] Change an unreachable condition in PagerSharedLock to a NEVER(...). Add an assert to pager_error() to show that it is never called to put an in-memory pager to the error-state. (CVS 6941) (user: danielk1977 branch: trunk)
17:08
[e9d23aef33] part of check-in [533d6cc67a] More simplifications to pager.c. (CVS 6939) (user: drh branch: trunk)
15:24
[9ba1c7412f] part of check-in [5b70b5c19c] Simplifications and comment improvements to pager.c in support of coverage testing. (CVS 6938) (user: drh branch: trunk)
14:18
[23c9823d72] part of check-in [cc9430e334] Add a NEVER() on an always-false conditional in pager.c. Make sure the text of the master journal file is zero-terminated before trying to process it - to prevent a buffer overrun in strlen(). (CVS 6937) (user: drh branch: trunk)
11:40
[2ccb115274] part of check-in [2e08ad7bf6] Add a complex assert() that checks a pager invariant. (CVS 6934) (user: danielk1977 branch: trunk)
04:12
[e26d9c5d88] part of check-in [3b6d370ed6] Add assert() statements to more tightly constrain the state of pager.c. Remove the three pager*.test scripts since they violate the constraints asserted above by modifying the state of the system in ways that it cannot be modified in a live system. (CVS 6933) (user: drh branch: trunk)
00:13
[c462bf6153] part of check-in [788aa9dde9] Remove two more overzealous assert() statements. (CVS 6932) (user: drh branch: trunk)
00:10
[872b380717] part of check-in [4a924b475a] Remove an overzealous assert() from pager.c. (CVS 6931) (user: drh branch: trunk)
2009-07-24
21:23
[e71458a9ff] part of check-in [e5165c80ab] Fix an issue with the previous check-in, (6929). (CVS 6930) (user: drh branch: trunk)
19:01
[1ad2dff309] part of check-in [866216c0b6] Further simplifications to pager.c in support of structural coverage testing. (CVS 6929) (user: drh branch: trunk)
16:32
[80910e68f6] part of check-in [7222ad2667] Simplifications to pager.c in support of structural coverage testing. (CVS 6927) (user: drh branch: trunk)
12:35
[cc446ee38f] part of check-in [2d2f42ca0a] Simplifications and comment improvements in pager.c. (CVS 6926) (user: drh branch: trunk)
2009-07-22
16:41
[2149b8271e] part of check-in [2594f01c73] Avoid leaving a suspect page in the page-cache if an error occurs during sqlite3PagerAcquire(). (CVS 6922) (user: danielk1977 branch: trunk)
13:19
[c1b13280e1] part of check-in [1e510d7fc5] Add a NEVER() macro around a pager.c conditional that must always be false in the current implementation. (CVS 6920) (user: drh branch: trunk)
02:02
[b4edef365c] part of check-in [38083228956a] Remove an ALWAYS() from a condition that can in fact be false under very obscure circumstances. (CVS 6918) (user: drh branch: trunk)
2009-07-21
19:25
[9838393b4a] part of check-in [0b41dfc066] Change getAndInitPage() (btree.c) to use only PagerAcquire(), not PagerLookup() and PagerAcquire(). (CVS 6916) (user: danielk1977 branch: trunk)
2009-07-18
20:01
[ed7cdaac02] part of check-in [22c6dbfdce] Code tweaks in support of full-coverage testing. (CVS 6907) (user: drh branch: trunk)
2009-07-13
15:52
[283d4e9c64] part of check-in [1c2bfc43a4] Remove the SQLITE_CommitBusy flag. This was an attempt to block recursion on the sqlite3_commit_hook() interface. But such recursion is explicitly disallowed, so the flag is pointless. (CVS 6889) (user: drh branch: trunk)
11:22
[3bad5d2bfe] part of check-in [b9be365d85] In sqlite3PagerWrite(), do not set the PGHDR_NEED_SYNC flag on a page if an IO error occured while attempting to journal it. (CVS 6887) (user: danielk1977 branch: trunk)
2009-07-12
02:31
[e442d1caae] part of check-in [d0964b9366] When an OOM fault occurs while moving a page for autovacuum in an in-memory database, be sure to undo the page move prior to returning the error, to avoid corrupting the in-memory database file. (CVS 6883) (user: drh branch: trunk)
2009-07-07
13:56
[164c5b0160] part of check-in [ea7ed16628] If an error occurs in PagerBegin(), call pager_end_transaction() to reset the internal state of the pager object. (CVS 6855) (user: danielk1977 branch: trunk)
2009-07-06
21:54
[18b9bfe88c] part of check-in [31a5e8192e] Fix the pager so that it remembers the name of the journal for an in-memory database as an empty string. This is important when committing a multi-database transaction that includes one or more attached memory databases. (CVS 6852) (user: drh branch: trunk)
2009-06-26
12:15
[04fdbede52] part of check-in [ac14502850] Fix the new pager.c changes so that they compile with IOTRACE defined. Fix an out-of-order variable definition in vdbeaux.c. (CVS 6820) (user: drh branch: trunk)
07:12
[aff52317d4] part of check-in [a5ecffcf02] Avoid writing the 8-byte journal-header magic until the journal-header is synced. In persistent journal-mode, this prevents any old content that follows an unsynced journal-header from being interpreted as part of the rollback journal. (CVS 6817) (user: danielk1977 branch: trunk)
2009-06-22
05:43
[85cb38f040] part of check-in [971a9650f6] If an OOM error occurs just after obtaining a shared lock on the database file, release the lock before returning. (CVS 6795) (user: danielk1977 branch: trunk)
2009-06-20
18:52
[2fc3693e83] part of check-in [4b46805cbc] When recovering from the error-state in pagerSharedLock(), do not search for a hot-journal in the file-system if the pager is configured to use an anonymous temp file as the journal. (CVS 6793) (user: danielk1977 branch: trunk)
11:54
[f6d5aa971a] part of check-in [9a06660037] If after obtaining an exclusive lock to rollback a hot-journal file it is found that the journal file has been deleted, do not return an SQLITE_BUSY error. Just downgrade the lock and continue with the current operation. This eliminates a spurious SQLITE_BUSY error caused by a race condition. (CVS 6792) (user: danielk1977 branch: trunk)
2009-06-19
17:50
[507655773b] part of check-in [62db08bc0d] If a call is made to sqlite3PagerAcquire when there are no outstanding references to any pages and the pager is in the error-state, try to exit the error-state at this point. Previously this was only attempted if the pager was configured to use exclusive mode. (CVS 6788) (user: danielk1977 branch: trunk)
02:25
[afe8e53fef] part of check-in [7d8f178c81] Fix a possible segfault when backing up an encrypted database. (CVS 6785) (user: drh branch: trunk)
00:33
[3edf86ef79] part of check-in [1c8ec2a6e4] Make sure the sqlite3VdbeGetOp() subroutine works even when SQLite is compiled with SQLITE_OMIT_TRACE. (CVS 6784) (user: drh branch: trunk)
2009-06-18
20:52
[4c21c7ac67] part of check-in [87d6796d98] Changes to the backup functionality so that it works better with codecs. (CVS 6783) (user: drh branch: trunk)
17:22
[5fee0ea97b] part of check-in [ed08b53cd6] Move codec management from database connections into the pager so that it will work together with shared cache. (CVS 6782) (user: drh branch: trunk)
2009-06-11
17:32
[efdd56a496] part of check-in [73ba841ac1] Honor the SQLITE_OPEN_READONLY flag even on a :memory: or temporary database, even though such a database is pointless. Ticket #3908. (CVS 6748) (user: drh branch: trunk)
00:47
[7bc85a618a] part of check-in [43a6ca98b1] Changes to reenable codec operation and to handle memory allocation failures within a codec. (CVS 6746) (user: drh branch: trunk)
2009-06-02
21:31
[30aafb668c] part of check-in [04bad9eb6d] Further reductions in the amount of stack space required. (CVS 6707) (user: drh branch: trunk)
2009-05-29
11:57
[47acbe149a] part of check-in [726b425e43] Still more refinements to the hasHotJournal() fix of ticket #3883. (CVS 6689) (user: drh branch: trunk)
10:55
[e8d7bb38b0] part of check-in [a2ba61d927] The hasHotJournal() fix of check-in (6687) causes some minor problems in various alternative operating modes, such as locking_mode=EXCLUSIVE. This additional patch attempts to fix those concerns. Ticket #3883. (CVS 6688) (user: drh branch: trunk)
00:30
[6c0fc1c078] part of check-in [d6b5d8e1ab] Modify the hasHotJournal() routine to return a false-positive if it is unable to open the journal file to check its header due to a race condition. Processing downstream of hasHotJournal() already knows how to deal with false-positives. Ticket #3883. (CVS 6687) (user: drh branch: trunk)
2009-05-18
17:11
[1379ce5cff] part of check-in [0d3abee273] Port the sqlite3_backup fix of check-in (6632), ticket #3858 onto the 3.6.14.1 branch. (CVS 6654) (user: drh branch: branch_3_6_14)
2009-05-13
07:52
[8bf62fefc7] part of check-in [90309008c3] When locking a database file, check if any backup objects need to be restarted even if the page cache is empty. Ticket #3858. (CVS 6632) (user: danielk1977 branch: trunk)
2009-05-06
18:57
[e7171336ff] part of check-in [df599237e1] Changes to silence compiler warnings under MSVC. (CVS 6613) (user: shane branch: trunk)
2009-04-30
16:41
[059490959c] part of check-in [d67af3f5a2] Fix a problem with in-memory sub-journals and exclusive locking mode. Also a test script problem introduced by (6575). (CVS 6580) (user: danielk1977 branch: trunk)
09:10
[4c9c51dd73] part of check-in [38f8c5a14c] When SQLite is configured to use in-memory temp files (either by setting SQLITE_TEMP_STORE during compilation or using the temp_store pragma at run time), store statement/savepoint journals in memory also. Ticket #3825. (CVS 6575) (user: danielk1977 branch: trunk)
2009-04-28
05:27
[1c41ddee47] part of check-in [ad8aba3eff] Avoid changing the pager journal-mode once a write-transaction is open, even if no database pages have been modified. (CVS 6554) (user: danielk1977 branch: trunk)
2009-04-20
17:43
[adfdf98f92] part of check-in [419e320ae5] Change the journal_mode pragma so that it always returns the current journal mode, even on a failed attempt to change the journal mode. Allow the journal mode to be changed as long as there is not a pending transaction. Ticket #3811. (CVS 6526) (user: drh branch: trunk)
11:34
[2ad6a94804] part of check-in [5b7e3a411a] Speed improvements by avoiding unnecessary calls to fstat() and ftruncate(). (CVS 6522) (user: drh branch: trunk)
2009-04-11
16:27
[e8d2bb957f] part of check-in [24ff486125] Fix an obscure problem with recovery from I/O errors while rolling back. (CVS 6498) (user: drh branch: trunk)
09:51
[9775c0db67] part of check-in [4447c94f45] In sqlite3PagerMovepage(), avoid holding a reference to page number X when calling sqlite3PcacheRekey() to move another page to page number X. (CVS 6492) (user: danielk1977 branch: trunk)
2009-04-05
12:22
[1df277b7c7] part of check-in [208382e032] Additional code to make sure and to assert that memory allocations have 8-byte alignment. Ticket #3777. (CVS 6450) (user: drh branch: trunk)
2009-04-04
15:53
[a8b53f7e4a] part of check-in [11c77f4c2c] Allow the journal_mode for in-memory databases to be either OFF or MEMORY, not just MEMORY. (CVS 6448) (user: drh branch: trunk)
2009-03-31
02:54
[34aeb87dc8] part of check-in [8c1d0c6ad9] Make sure a ROLLBACK that follows an incremental vacuum works. Ticket #3761. (CVS 6416) (user: drh branch: trunk)
2009-03-28
10:54
[7a2b4b1187] part of check-in [9278f7b1e1] The fix in (6395) was not correct. Fix #3756 a different way. (CVS 6397) (user: danielk1977 branch: trunk)
06:59
[15eaf3d021] part of check-in [647e3b156e] Fix readDbPage() so that if an SQLITE_IOERR_SHORT_READ is encountered, the page content is zeroed. Ticket #3756. (CVS 6395) (user: danielk1977 branch: trunk)
2009-03-26
17:13
[6a932669c9] part of check-in [80241a0502] Check that the first byte of a potentially hot journal file is non-zero before beginning hot-journal rollback. Fix for #3751 and #3745. (CVS 6390) (user: danielk1977 branch: trunk)
2009-03-23
04:33
[da7ffd0683] part of check-in [db1d4d2f50] Use the ROUND8() macro to round an integer up to the nearest multiple of 8 and ROUNDDOWN8() macro to round down to the nearest multiple of 8. This is a cosmetic change. (CVS 6372) (user: danielk1977 branch: trunk)
2009-03-05
04:20
[01e3facb2f] part of check-in [6404afa0c5] Corrected typos and misspellings. Ticket #3702. (CVS 6336) (user: shane branch: trunk)
2009-02-17
17:56
[d62fd62f7c] part of check-in [8c61968b33] Initialize an uninitialized buffer to silence a valgrind warning during a VACUUM operation. (CVS 6297) (user: danielk1977 branch: trunk)
16:17
[eede73b78d] part of check-in [59a4755185] Make sure result variables are initialized or unused following a failure of the xFullPathname VFS interface. Problem detected by valgrind. (CVS 6295) (user: drh branch: trunk)
2009-02-12
17:01
[d8d10a4108] part of check-in [2fc450e8e6] Fix some edge cases with backing up databases that are exactly PENDING_BYTE bytes in size, or just slightly larger. (CVS 6288) (user: danielk1977 branch: trunk)
09:11
[57665d91e5] part of check-in [315a6692f9] Fix a case where during a rollback triggered by an IO or malloc error an unjournalled region of the database could be written to (with it's original data). This was causing an assert in test_journal.c to fail. Add a test case in ioerr2.test to trigger this case. (CVS 6286) (user: danielk1977 branch: trunk)
2009-02-04
19:16
[8c946cca1c] part of check-in [d4af60e52a] If the truncate operation fails in journalmode=TRUNCATE, do not fall back to overwriting the journal header with zeros. Simply fail the operation. (CVS 6257) (user: drh branch: trunk)
10:09
[ce4a0a0f10] part of check-in [20bd760554] Do not attempt to use the sub-journal file descriptor if it is not opened (as in journal_mode=off mode). Ticket #3636. (CVS 6252) (user: danielk1977 branch: trunk)
01:49
[1181eac160] part of check-in [6301f08a2b] Remove compiler warnings under MSVC. (CVS 6249) (user: shane branch: trunk)
2009-02-03
22:51
[b8f4ae64cb] part of check-in [7f827ba9d7] Correction to check-ins (6246) and (6247): The backup object might not hold a valid destination connection pointer. Also, do not reset the page cache when establishing a read-lock while there is a persistent or truncated journal, only if there is a journal that really needs to rollback. Otherwise backups always reset whenever the source database file is read. (CVS 6248) (user: drh branch: trunk)
16:51
[9e7c6db163] part of check-in [663479b417] Commit first version of the 'backup' feature. (CVS 6241) (user: danielk1977 branch: trunk)
2009-01-31
14:54
[72f4e7b307] part of check-in [407830c683] Avoid a segfault when running vacuum on an in-memory database. Ticket #3620. (CVS 6221) (user: danielk1977 branch: trunk)
2009-01-30
05:40
[3a36360acb] part of check-in [c74c78e4eb] Minor changes to remove a few MSVC compiler warnings at /W3. Ticket #3610. (CVS 6215) (user: shane branch: trunk)
2009-01-24
11:30
[ce459ad59b] part of check-in [bfc71edca4] Fix some minor compiler warnings. Added sqlite3Isalpha() for use in the soundex() function. (CVS 6203) (user: drh branch: trunk)
2009-01-23
16:45
[be92682af3] part of check-in [9c0b9f8813] Optimization: When loading a new page into the cache, avoid redundant memset() calls to zero it. (CVS 6201) (user: danielk1977 branch: trunk)
2009-01-22
17:12
[ce7118d56c] part of check-in [78ae96def5] Silence a C++ builder warning by writing "if( (rc = function())!=SQLITE_OK )" instead of "if( (rc = function()) )" in two places in pager.c. Ticket #3605. (CVS 6199) (user: danielk1977 branch: trunk)
2009-01-20
17:06
[52fdfe6d63] part of check-in [12f7346c13] Big change to make pager.c easier to follow. Unused variables removed, comments improved, etc. (CVS 6197) (user: danielk1977 branch: trunk)
2009-01-17
16:59
[bf917e869e] part of check-in [502c66df8b] Fix a bug that was preventing SQLite from releasing locks properly under obscure circumstances. (CVS 6192) (user: danielk1977 branch: trunk)
2009-01-16
16:40
[e8e2ae1ef6] part of check-in [9f07d2d922] Fix a change-counter bug similar to #3584. This one is much more obscure though, requiring a transient IO or malloc error to occur while running in exclusive mode. (CVS 6189) (user: danielk1977 branch: trunk)
16:23
[b99d1e9f9c] part of check-in [a353c1ab37] Revert (6187). (CVS 6188) (user: danielk1977 branch: trunk)
15:21
[629e3c8628] part of check-in [aa67fd0cdb] This commit is an error. Reverted by (6188). (CVS 6187) (user: danielk1977 branch: trunk)
2009-01-14
23:03
[46ab8721a9] part of check-in [b676ccfd90] Add asserts to detect if a transaction commits without first incrementing the transaction counter. These asserts are intended to prevent future problems similar to ticket #3584. (CVS 6179) (user: drh branch: trunk)
17:45
[add3461c2d] part of check-in [b7d2a477aa] Fix a problem with committing a transaction while there are other active statements. Sometimes, the database change counter was not being updated. (CVS 6176) (user: danielk1977 branch: trunk)
2009-01-13
16:03
[5a95868f4f] part of check-in [36fe9a7a51] If the journal file is open when unlocking the database, close it just before unlocking the database file instead of just after. This may fix #3572. (CVS 6171) (user: danielk1977 branch: trunk)
2009-01-11
17:00
[34fb9317f7] part of check-in [fd2bbcf8d8] Fix an assert() so that it works correctly with SQLITE_TEMP_STORE=3. (CVS 6167) (user: drh branch: trunk)
2009-01-10
17:57
[f53ff4e740] part of check-in [8f0672af8d] Remove the unused Pager.alwaysRollback flag. Fix a couple of comments in pager.c. (CVS 6161) (user: danielk1977 branch: trunk)
17:02
[98c6b2aa23] part of check-in [495f017e03] Remove an faulty assertion inserted a few days ago. (CVS 6160) (user: drh branch: trunk)
16:15
[a1e23f2c55] part of check-in [855c4093cf] Improve coverage of pager.c. (CVS 6158) (user: danielk1977 branch: trunk)
2009-01-09
17:11
[97bfbacae6] part of check-in [0f3f9011fa] Increase pager.c coverage a bit. Fix an assert failure that can occur following a "PRAGMA omit_readlock" command on a read-only database. (CVS 6152) (user: danielk1977 branch: trunk)
2009-01-08
18:04
[1c02b40777] part of check-in [44d3bfddf4] Fix a comment in pager.c. No actual code changes. (CVS 6145) (user: danielk1977 branch: trunk)
17:50
[35445d2172] part of check-in [5a39525ba3] Fix a couple of potential corruption problems in pager.c. (CVS 6143) (user: danielk1977 branch: trunk)
15:24
[2b35462d94] part of check-in [1e53e382e5] Add a test script for ticket #2565. Change the assert() in pager.c into a testcase() macro. (CVS 6142) (user: drh branch: trunk)
2009-01-07
18:08
[76d62924b6] part of check-in [ccc9c211a2] Make the same change as (6121) (accidentally reverted). Also enhance test_journal.c to catch this kind of bug. (CVS 6136) (user: danielk1977 branch: trunk)
15:33
[2fd6d5a88a] part of check-in [15b5b5f90c] Conjecture: a journal header with nRec==0 must be the last header in the journal. Add asserts to make this conjecture explicit. (CVS 6132) (user: drh branch: trunk)
15:18
[a799290e5c] part of check-in [83d1eafbde] Fix for 'truncate file' operations on in-memory databases. (CVS 6131) (user: danielk1977 branch: trunk)
10:52
[1af21dadcf] part of check-in [04387ae10a] Add a comment to the openSubjournal() function in pager.c. (CVS 6130) (user: danielk1977 branch: trunk)
10:35
[59a70fae1d] part of check-in [3a4bb83235] Fix a problem with reverting a 'DROP TABLE' command executed inside of a savepoint on an auto-vacuum database. (CVS 6129) (user: danielk1977 branch: trunk)
02:03
[b2a42a1d06] part of check-in [15b9dac455] Pager changes attempting to verify that ticket #2565 cannot recur. (CVS 6126) (user: drh branch: trunk)
2009-01-06
15:58
[8a64e448f4] part of check-in [ee7b4b6088] Cleanup of the PAGERTRACE macro. Other comment changes in pager.c. (CVS 6122) (user: drh branch: trunk)
15:28
[6825837db9] part of check-in [ddc2ebfa52] The fix in (6120) wasn't quite right. This fixes it. (CVS 6121) (user: danielk1977 branch: trunk)
15:20
[06f6e84895] part of check-in [2cdbb468ed] Fix a recently introduced problem in "permutations.test autovacuum_crash". (CVS 6120) (user: danielk1977 branch: trunk)
14:34
[e93008f932] part of check-in [a64f3db0b3] Fix a memory leak in test_journal.c (test code). Also remove function pager_truncate_cache(), a wrapper around sqlite3PCacheTruncate(), from pager.c. (CVS 6118) (user: danielk1977 branch: trunk)
13:40
[9c9bc48765] part of check-in [8c62ea4fde] Add some savepoint related test cases and fix a few problems. (CVS 6116) (user: danielk1977 branch: trunk)
2009-01-03
12:55
[b12dbe7e6c] part of check-in [50f57cd145] Fix a typo in a comment. (CVS 6106) (user: drh branch: trunk)
2009-01-02
21:39
[e829875785] part of check-in [4688e1c8b1] Memory allocation failure in Bitvec are probably all benign. Still, add code to check this, just to be sure. (CVS 6104) (user: drh branch: trunk)
21:08
[151cc07325] part of check-in [3e9efb7638] Reinitialize page 1 of the database file following a ROLLBACK TO of a transactional SAVEPOINT on an initially empty database. (CVS 6103) (user: drh branch: trunk)
18:10
[22f2896d2a] part of check-in [78dd7909da] Fix compiler warnings in pager.c (CVS 6102) (user: drh branch: trunk)
2009-01-01
15:20
[1610863d7c] part of check-in [9ff8598f3b] Fix a (benign) valgrind error that can occur following malloc failure while executing a 'ROLLBACK TO savepoint' command. (CVS 6096) (user: danielk1977 branch: trunk)
2008-12-27
15:23
[ec486337fa] part of check-in [08352f9ea9] Fix a problem with savepoint and incremental-vacuum. (CVS 6066) (user: danielk1977 branch: trunk)
2008-12-23
19:15
[67af495bcd] part of check-in [26ceebf38e] Fix a problem with the savepoint code and in-memory journals. (CVS 6061) (user: danielk1977 branch: trunk)
10:37
[5998dc0bfa] part of check-in [ae44e74824] Fix a couple of assert() failures that can occur in btree.c and pager.c. (CVS 6055) (user: danielk1977 branch: trunk)
2008-12-22
11:43
[59b87841ac] part of check-in [ee0e6eae9f] Changes to test scripts so that veryquick.test runs with SQLITE_TEMP_STORE=3 defined. Also a fix to stop the same switch causing a crash in the savepoint code. (CVS 6053) (user: danielk1977 branch: trunk)
10:58
[4fc24d29d6] part of check-in [bb177e3072] Add a case to permutations.test to run tests with the test_journal.c backend installed. Also many fixes to test_journal.c and one quite obscure fix to pager.c. (CVS 6052) (user: danielk1977 branch: trunk)
2008-12-20
08:39
[5c2b49c37d] part of check-in [688336266f] Fix the crash-followed-by-corruption bug revealed by savepoint4.test. This is actually the same bug as was fixed by (6043). The fix was not entirely correct. (CVS 6047) (user: danielk1977 branch: trunk)
2008-12-19
16:31
[7760272fb2] part of check-in [6f36c16678] Add some crash-tests for savepoint. Fix a bug revealed by these tests. (CVS 6043) (user: danielk1977 branch: trunk)
2008-12-18
18:31
[fa8a93afc5] part of check-in [d915718d0b] Increase test coverage of new savepoint code. (CVS 6040) (user: danielk1977 branch: trunk)
15:45
[9c1663c940] part of check-in [98a53d91f6] Add savepoint2.test, a file containing savepoint tests similar to tests in trans.test and avtrans.test. And a few savepoint bug fixes. (CVS 6039) (user: danielk1977 branch: trunk)
2008-12-17
17:30
[dd1aba4a1d] part of check-in [34b56600ec] Add the savepoint feature. This feature is largely untested at this point. (CVS 6036) (user: danielk1977 branch: trunk)
2008-12-10
22:15
[7e8c2b7b71] part of check-in [258722b617] Fix an issue with the new sqlite3Strlen30() introduced by check-in (6007). Additional casts for compiler warnings. (CVS 6011) (user: drh branch: trunk)
21:19
[ef93fb79ab] part of check-in [ea01d43788] Additional work at eliminating silly compiler warnings. (CVS 6010) (user: drh branch: trunk)
19:26
[64269ef14e] part of check-in [c872d55493] Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) (user: drh branch: trunk)
16:45
[e72e92d443] part of check-in [da1cbfa766] Add explicit casts to silence nuisance warnings from VC++. (CVS 6004) (user: drh branch: trunk)
2008-11-29
22:49
[a193da9e27] part of check-in [2822cbb960] Fully initialize the unused bytes of the buffer that will become the journal file header, in order to silence a complaint from valgrind. (CVS 5968) (user: drh branch: trunk)
2008-11-26
14:55
[6d02bb9971] part of check-in [8c0edbef7e] Port check-ins (5955) and (5956) into the 3.6.6 branch. (CVS 5958) (user: drh branch: branch_3_6_6)
07:25
[2e9182e181] part of check-in [1a66481a37] Fix a couple of assert() failures provoked by running with a small default cache-size (64 pages). (CVS 5955) (user: danielk1977 branch: trunk)
2008-11-21
09:09
[e5d12e7adb] part of check-in [ddf980a501] Fix the problems demonstrated in tkt35xx.test in a different way to (5936). (CVS 5938) (user: danielk1977 branch: trunk)
03:23
[8e2ebfd226] part of check-in [faded96f36] On a ROLLBACK, if there page cache entries which are dirty but not in the rollback journal, make sure they get reinitialized in the btree layer. (CVS 5936) (user: drh branch: trunk)
2008-11-19
18:30
[db12a8333e] part of check-in [e058f50937] Update the SECURE_DELETE code to track the latest changes in the pager. (CVS 5928) (user: drh branch: trunk)
10:22
[ae5da38b64] part of check-in [7bd1ac1899] Simplify the way the pager layer invokes the busy-handler callback. (CVS 5922) (user: danielk1977 branch: trunk)
2008-11-17
04:56
[d328fcea0b] part of check-in [cb6be84dfc] Modifications to pager.c to avoid the unsigned/signed warnings. (CVS 5909) (user: danielk1977 branch: trunk)
2008-11-13
14:28
[c3f46fcb60] part of check-in [47866d6708] Add an API to support custom page cache implementations. (CVS 5899) (user: danielk1977 branch: trunk)
2008-11-07
00:24
[6b6f8eb493] part of check-in [cf9d1d933f] Prevent a rollback from crashing if the sector-size field of the rollback journal is corrupted. (CVS 5868) (user: drh branch: trunk)
2008-11-03
20:55
[e9103fc8ef] part of check-in [fdb98fd8c1] Change the name of the Cursor object to VdbeCursor. (CVS 5857) (user: drh branch: trunk)
2008-10-29
07:01
[847de90e44] part of check-in [dc5308c762] If a hot-journal file is detected but the application does not have the required read/write permissions, return SQLITE_CANTOPEN. Prior to this change, SQLITE_BUSY was returned. Ticket #3457. (CVS 5849) (user: danielk1977 branch: trunk)
2008-10-22
16:26
[8377118bd5] part of check-in [b78f44c91f] Make sure variable declarations occur first in code blocks. (CVS 5836) (user: shane branch: trunk)
2008-10-17
18:51
[fd11076a5a] part of check-in [39ebf01add] Add "pragma journal_mode=memory". Change the way rollback works for in-memory databases so that it reuses the journal_mode=memory code. (CVS 5830) (user: danielk1977 branch: trunk)
2008-10-07
11:51
[d98f56128e] part of check-in [22d1feb9b2] Fix a problem with hot-journal rollback. SQLITE_CANTOPEN was being returned if the hot-journal file contained a pointer to a master journal file that did not exist. (CVS 5775) (user: danielk1977 branch: trunk)
2008-09-29
11:49
[44eba010e8] part of check-in [40425e9342] Instead of storing a pointer to the parent page in the MemPage structure, have each B-Tree cursor keep track of the ancestry of the current page. (CVS 5747) (user: danielk1977 branch: trunk)
2008-09-26
21:08
[6426902ba9] part of check-in [7c561f2e92] Add the "truncate" journal mode which commits transactions by truncating the rollback journal file to zero length and not calling fsync(). (CVS 5745) (user: drh branch: trunk)
2008-09-23
16:41
[7a3ba14e27] part of check-in [046ef07261] Always transform error code SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. This was already happening in most places. (CVS 5738) (user: danielk1977 branch: trunk)
2008-09-19
09:14
[131746ea47] part of check-in [75deaa442f] Remove an obsolete layer of redirection in pager.c. (CVS 5723) (user: danielk1977 branch: trunk)
2008-09-18
17:34
[bcfa1c4034] part of check-in [6b998f3066] Avoid parsing the structure of b-tree pages (in sqlite3BtreeInitPage) more than is necessary. (CVS 5720) (user: danielk1977 branch: trunk)
2008-09-17
20:06
[34318b85ce] part of check-in [a7fd9e622b] Speed improvements for in-memory databases by omitting flag clearing on pages where it is impossible for the flag to be set and by avoiding assert()s on non-debugging builds. Ticket #3384. (CVS 5715) (user: drh branch: trunk)
2008-09-16
05:12
[f21654d1fc] part of check-in [aa5c9455be] Do not attempt to change the page size after a pager has entered the error state (Pager.errCode!=SQLITE_OK). This prevents an assertion failure in vacuum3.test. (CVS 5703) (user: danielk1977 branch: trunk)
2008-09-11
10:29
[b1ea487022] part of check-in [f4293d1480] Fix a couple of problems with variable initializations picked up by stricter compilers. (CVS 5691) (user: danielk1977 branch: trunk)
2008-09-08
15:35
[2280eef428] part of check-in [a6dee85b82] Fix a C++ism in pager.c (variable useAtomicWrite not declard at the top of its scope). (CVS 5683) (user: danielk1977 branch: trunk)
2008-09-03
00:08
[5a6b590895] part of check-in [c8b24bd1be] If a rollback fails, mark the database as corrupt. (CVS 5668) (user: drh branch: trunk)
2008-09-02
11:05
[24a4942827] part of check-in [29c9a80294] Add a 'const' to the opcodeProperty array in vdbe.c. (CVS 5661) (user: danielk1977 branch: trunk)
2008-08-28
02:26
[032d11049a] part of check-in [da1777259f] Miscellaneous cleanup in the new pcache code. (CVS 5629) (user: drh branch: trunk)
2008-08-27
18:03
[84f4c171a0] part of check-in [9d7722f4f3] Do not mark pages as clean when doing a statement journal rollback. (CVS 5626) (user: drh branch: trunk)
15:16
[a38742815a] part of check-in [9e9325997e] Use a bitvec object to store the set of pages with the 'always-rollback' property for a transaction. (CVS 5622) (user: danielk1977 branch: trunk)
09:44
[095efa75a1] part of check-in [7de32498b3] Remove unreachable branches from pcache.c. (CVS 5620) (user: danielk1977 branch: trunk)
2008-08-26
21:07
[66836244ea] part of check-in [226a905678] All the page_size pragma to change the page size on a new :memory: database, but not a vacuumed :memory: database. Ticket #3335 (CVS 5617) (user: drh branch: trunk)
18:05
[9dfaca6cd4] part of check-in [9e511e161b] Simplify the pcache module by only recycling clean pages from 'other' caches. This commit causes errors in test files ioerr5.test and malloc5.test because they test recycling dirty pages from other caches. (CVS 5615) (user: danielk1977 branch: trunk)
2008-08-25
17:23
[67d689efa3] part of check-in [4ad096bda1] Fix bug in the premutation testing that was causing many permutations from begin skipped. There are now 16 errors reported by the permutation test. (CVS 5610) (user: drh branch: trunk)
07:12
[a175ce0a02] part of check-in [16f612d61e] If the sector size is greater than the database page size, SQLite journals all pages that lie within a sector before writing to any of them. This change ensure that a journal sync does not occur halfway through journalling the set of pages that belong to a single sector. (CVS 5605) (user: danielk1977 branch: trunk)
2008-08-23
18:53
[8fd8868946] part of check-in [a323bd29a6] Instead of marking a page as clean when sqlite3PagerDontWrite() is called, set a dedictated flag - PGHDR_DONT_WRITE. (CVS 5604) (user: danielk1977 branch: trunk)
2008-08-22
17:34
[62a0e18d5d] part of check-in [6de9c084fc] Remove dead code. (CVS 5601) (user: drh branch: trunk)
16:22
[3b6625d32c] part of check-in [93dbc5427b] When recycling a page, try to find one that does not require a call to xSync() on the journal file. Also simplify some of the mutex related things in pcache. (CVS 5597) (user: danielk1977 branch: trunk)
12:57
[620b0c34f2] part of check-in [2a365e2994] Fix nuisance compiler warnings. Ticket #3309. (CVS 5591) (user: drh branch: trunk)
2008-08-21
12:19
[3a4358c72c] part of check-in [d025866b09] Fix the functionality associated with sqlite3_release_memory() and sqlite3_soft_heap_limit(). It is automatically disabled if the SQLITE_CONFIG_PAGECACHE option is used. (CVS 5576) (user: danielk1977 branch: trunk)
04:35
[08e257feab] part of check-in [5e9559c049] Remove leftover PGHDR_TO_DATA macro from pager.c. Ticket #3323. (CVS 5574) (user: danielk1977 branch: trunk)
2008-08-20
21:47
[79d4d33245] part of check-in [4b0e67d397] Comment and function naming tweaks to pcache. No functionality changes. (CVS 5572) (user: drh branch: trunk)
14:49
[9f813a8f26] part of check-in [cb494e10d7] Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566) (user: danielk1977 branch: trunk)
2008-08-02
03:50
[b6a366f234] part of check-in [f1e44eb323] Additional coverage testing. Fix a segfault following OOM in sqltie3_load_extension(). (CVS 5523) (user: drh branch: trunk)
2008-08-01
10:50
[6ad4d2b9b6] part of check-in [70f20425e8] If xAccess() fails while attempting to detect a hot-journal file, do not assume that the error was an out-of-memory condition. (CVS 5515) (user: danielk1977 branch: trunk)
2008-07-22
05:18
[a6ecad2629] part of check-in [16f51f9b39] Changed a few loop counters to unsigned ints to remove compiler warnings. (CVS 5449) (user: shane branch: trunk)
2008-07-16
18:17
[e65d78bdbd] part of check-in [1d01c02ab0] Eliminate some unnecessary IO during a commit in full auto-vacuum mode. (CVS 5426) (user: danielk1977 branch: trunk)
2008-07-11
03:34
[bb286b2fc0] part of check-in [30825f74d6] Make the btree layer robust when faced with a corrupt database that contains duplicate entries on the freelist. Ticket #3209. (CVS 5392) (user: drh branch: trunk)
2008-07-10
00:32
[08169a9441] part of check-in [636cd72329] Remove unused code. Test coverage enhancements. Modify the algorithm used to select column names for VIEWs of joins so that the constructed column names omits the underlying table names. (CVS 5386) (user: drh branch: trunk)
2008-07-07
19:52
[2cd554d474] part of check-in [28f8b6bfcc] Make check-in (5356) compatible with builds that do not enable memory management. Remove unnecessary code from main.c. Add out-of-memory tests for sqlite3_complete16(). (CVS 5357) (user: drh branch: trunk)
18:42
[a3a916b721] part of check-in [fbd320ed27] Fix an error introduced by (5346). The list could become corrupted when the database was truncated. (CVS 5356) (user: danielk1977 branch: trunk)
11:18
[4c4d0529a6] part of check-in [71d699de36] Make the Pager.pAll linked-list doubly linked when ENABLE_MEMORY_MANAGEMENT is defined. This is used to speed up sqlite3_release_memory(). (CVS 5346) (user: danielk1977 branch: trunk)
2008-06-20
14:59
[e2a49872f1] part of check-in [56c8af1452] Add a mode to the sqlite3_test_control() interface to register hooks called at the beginning and end of "benign malloc failure" blocks. This allows malloc() failure testing to be done using public APIs only. (CVS 5254) (user: danielk1977 branch: trunk)
2008-06-18
17:09
[2f5f55a940] part of check-in [5059644c4b] Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234) (user: danielk1977 branch: trunk)
2008-06-17
15:12
[124b3eaed1] part of check-in [3e797d0ffe] Add internal interfaces: PageMalloc/PageFree and ScratchMalloc/ScratchFree. (CVS 5226) (user: drh branch: trunk)
2008-06-15
02:51
[5599fb3ebb] part of check-in [65fe7b62cf] Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) (user: drh branch: trunk)
2008-06-07
08:58
[be98ceeb55] part of check-in [e9f01c0186] Change the signature of sqlite3PagerPagecount() so that it can return an error code. (CVS 5195) (user: danielk1977 branch: trunk)
05:19
[7ce0a4abcc] part of check-in [9f5cbe2922] Do not call xSync() from zeroJournalHdr() if the Pager.noSync flag is set (i.e. for temp files). (CVS 5194) (user: danielk1977 branch: trunk)
2008-06-06
16:14
[1f3e20af0d] part of check-in [de8b87d65a] Avoid attempting to delete the journal file of a temporary pager when closing the pager. It will be deleted automatically by the OS layer. (CVS 5193) (user: danielk1977 branch: trunk)
11:11
[b07ae2a2b9] part of check-in [5173b3e816] Remove the xGetTempname() method from the vfs structure. Temp files are now opened by passing a NULL pointer as the filename to xOpen(). (CVS 5190) (user: danielk1977 branch: trunk)
2008-06-05
11:39
[912792937c] part of check-in [4226ac54be] Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188) (user: danielk1977 branch: trunk)
2008-06-04
06:45
[d55885a307] part of check-in [5c59f469d0] Add "pragma journal_size_limit", used to limit the space consumed by persistent journal files left in the file-system after a transaction has concluded in exclusive (or journal_mode=persist) mode. (CVS 5185) (user: danielk1977 branch: trunk)
2008-05-21
15:38
[d0a77feeae] part of check-in [25b9f3b9b2] Add the "volatile" keyword to variables in the Pager structure used for synchronization when memory management is enabled. (CVS 5153) (user: drh branch: trunk)
2008-05-20
07:05
[baf3c74d8a] part of check-in [ffd4e50ab9] Do not attempt to write a master journal name to the (non-existent) journal file in "no-journal" mode. Fix for #3127. (CVS 5145) (user: danielk1977 branch: trunk)
2008-05-15
11:08
[43f5f67ff2] part of check-in [443cf1056c] If a pager is already in the error-state when CommitPhaseOne() is called, exit early. (CVS 5134) (user: danielk1977 branch: trunk)
08:34
[eae53a807a] part of check-in [10ea8287d0] Do not write pages to disk to free memory after an IO error occurs. (CVS 5132) (user: danielk1977 branch: trunk)
2008-05-13
13:27
[2607309c48] part of check-in [a9d1d93135] Make the benign-fault setting recursive. Make all malloc failures during a rollback benign since there is nothing we can do about them. (CVS 5128) (user: drh branch: trunk)
00:58
[8c222e8a89] part of check-in [f1ed368923] Update the pager so that it does not try to commit a transaction if there have been no changes to the database. (CVS 5127) (user: drh branch: trunk)
2008-05-09
16:57
[c4e0bcb1f4] part of check-in [7a44fb965b] Fix a problem with recovering from an IO error in exclusive-locking mode. (CVS 5112) (user: danielk1977 branch: trunk)
2008-05-07
19:11
[fc173b7ee0] part of check-in [e98a7f87f9] Fix some problems with multi-file transactions in persistent journal mode. (CVS 5102) (user: danielk1977 branch: trunk)
12:45
[547079d36f] part of check-in [438d77a762] Fix a null-pointer dereference that can occur following a DISKFULL error while running VACUUM. (CVS 5096) (user: drh branch: trunk)
12:29
[bc506fe983] part of check-in [d15d0bbab0] Omit mutex variables in the pager when threadsafe is disabled. (CVS 5095) (user: drh branch: trunk)
2008-05-06
18:13
[22a5a810a3] part of check-in [4a1ae9d032] Fix a bug whereby the database file was not always being extended to its original size when rolling back an incremental-vacuum operation. (CVS 5089) (user: danielk1977 branch: trunk)
2008-05-05
16:23
[5ac6728cf5] part of check-in [4ad1809192] If an IO error occurs while locking the database and checking the cache validity, unlock the database before returning. Ticket #3030. (CVS 5083) (user: danielk1977 branch: trunk)
2008-05-01
17:16
[2d495e9a43] part of check-in [59568844e7] Fix more compiler warnings. (CVS 5074) (user: drh branch: trunk)
17:03
[fd4e176cbd] part of check-in [227a6f67c2] Fix harmless compiler warnings. (CVS 5073) (user: drh branch: trunk)
2008-04-29
15:38
[268be12080] part of check-in [f854ae576e] Zero the per-pager temporary space allocation to avoid warnings from valgrind. (CVS 5068) (user: drh branch: trunk)
2008-04-25
12:25
[2361c00a4c] part of check-in [7f80539225] Clarify some comments. No changes to code. (CVS 5049) (user: drh branch: trunk)
2008-04-24
12:37
[90df64b9c1] part of check-in [709d17b19d] Fix an assert() failure that can occur if "journal_mode=off" is used in a build with the atomic-write optimization enabled. (CVS 5043) (user: danielk1977 branch: trunk)
2008-04-22
17:15
[21d426c65c] part of check-in [5896ae3d68] Always sync the journal file after zeroing out the header. (CVS 5036) (user: drh branch: trunk)
14:31
[e164d0fc41] part of check-in [dfacddbb50] Avoid non-contiguous writes when creating a journal header. (CVS 5035) (user: danielk1977 branch: trunk)
2008-04-19
20:53
[008ec5a602] part of check-in [e29b870ed0] Add some tests for journal_mode=off. Need to come up with a way of handling rollback attempts when there is no journal. (CVS 5034) (user: drh branch: trunk)
20:34
[c768b50502] part of check-in [277e4099ce] Continuing work on journal_mode. Journal_mode=persist now appears to be working, though additional testing would be welcomed. (CVS 5033) (user: drh branch: trunk)
2008-04-17
20:59
[60c81c923a] part of check-in [4a72a7bb9c] Continuing progress on the journal_mode pragma. It still does not work. (CVS 5027) (user: drh branch: trunk)
17:02
[84dc8bc0aa] part of check-in [8eaa0c7102] Add the journal_mode pragma. This is currently just syntax - it is not operational. (CVS 5024) (user: drh branch: trunk)
14:16
[13f1aca756] part of check-in [8efb7f4ffb] In exclusive locking mode, commit by zeroing the first 28 bytes of the journal file, not by truncating the journal. Overwriting is much faster than truncating. (CVS 5023) (user: drh branch: trunk)
2008-04-14
23:13
[fc7c415f2a] part of check-in [7bb9a4165a] Do not attempt to write to temporary database files that have never been opened. (CVS 5007) (user: drh branch: trunk)
16:37
[e21ab9dd60] part of check-in [aa16eb5729] Do not set the pager to persistent error state if a call to OsAccess() fails. (CVS 5004) (user: danielk1977 branch: trunk)
01:00
[1cd9efd9fc] part of check-in [40ba51fd4c] Get the SQLITE_SECURE_DELETE compile-time option working again. Ticket #3050. (CVS 4999) (user: drh branch: trunk)
2008-04-03
10:13
[7b302d9067] part of check-in [fd97f8762c] Change the allocator in mem2.c (used when SQLITE_MEMDEBUG is defined) so that allocations are not rounded up to the nearest 4 byte boundary. Fix a couple of errors in malloc.test related to sqlite3OsAccess() returning -1. (CVS 4956) (user: danielk1977 branch: trunk)
2008-03-28
17:41
[f8f61c344d] part of check-in [17ea0c97a8] Change the pager's sector size algorithm to the maximum of the size reported by xSectorSize() from the VFS and 512. It was using the maximum of xSectorSize() and the current page size, but that was adding an extra 512 bytes to the size of the journal file in the common case. (CVS 4929) (user: drh branch: trunk)
2008-03-27
22:42
[1cfa9b04f5] part of check-in [3cb704c4c4] Allow the xAccess method in the VFS to return -1 to signal an I/O error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925) (user: drh branch: trunk)
2008-03-20
11:04
[22241b59c8] part of check-in [871df0e7c3] Allow a VACUUM operation to change the page-size in the same way as it can be used to change a database between auto-vacuum and normal mode. (CVS 4896) (user: danielk1977 branch: trunk)
04:45
[d3448e060a] part of check-in [79f573cc7b] Write the page-size into the first journal-header of each journal file. (CVS 4894) (user: danielk1977 branch: trunk)
2008-03-19
14:15
[ed2fc0ff72] part of check-in [15110ea027] Add a new api sqlite3_randomness() for providing access to SQLite's internal PRNG. Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882) (user: drh branch: trunk)
2008-03-17
13:50
[2ebd895730] part of check-in [72c4072693] Put the statement journal in the temp-file directory since that directory is often on optimized storage such as RAM disk and because unlike the main journal, the statement journal does not need to be colocated with the database file. (CVS 4868) (user: drh branch: trunk)
2008-03-14
19:33
[c2cabad85f] part of check-in [66777f0481] Reset the busy callback iteration counter at the beginning of each lock test loop. (CVS 4864) (user: drh branch: trunk)
2008-03-10
14:12
[8c709d6f7b] part of check-in [d4ab14b974] Add explicit !=0 tests in order to suppress warning messages in Borland-C. Ticket #2985 (CVS 4850) (user: drh branch: trunk)
2008-03-07
20:14
[d8690e166a] part of check-in [22bd537ee2] Another fix to the OsUnlock I/O error logic. (CVS 4839) (user: drh branch: trunk)
19:51
[803d361f7a] part of check-in [b4c1258edb] Correctly handle I/O errors that occur during OsUnlock(). Before this fix, an I/O error during OsUnlock() could lead to database corruption. That is not a serious problem, though, since errors during OsUnlock() are not possible on most systems. (CVS 4838) (user: drh branch: trunk)
2008-02-26
18:40
[d09885bb88] part of check-in [690d05ceda] Fix a math error when computing how much memory to allocate for a new pager. (CVS 4812) (user: drh branch: trunk)
16:16
[ee55f9c201] part of check-in [afe49d81f4] Add commentary to clarify what is happening when an I/O error occurs while writing dirty pages to the database file. (CVS 4811) (user: drh branch: trunk)
14:46
[1d5d4167f8] part of check-in [942daf94ef] Add an assert() to verify that the dirty-page list in the pager is valid before using it. (CVS 4810) (user: drh branch: trunk)
06:05
[80d9294a6b] part of check-in [427e7f8b4a] Have sqlite3PagerPagecount() return -1 when the pager is in error state. Fix for #2961. (CVS 4809) (user: danielk1977 branch: trunk)
2008-02-18
22:24
[caa7c06d6c] part of check-in [63da5d9754] Add the memory fault simulator to mem5.c. Enable soft heap limit on mem5.c. Limit the size of hash tables and the vdbefifo when using mem5.c. (CVS 4795) (user: drh branch: trunk)
14:47
[d9aeb0a131] part of check-in [7c57bdbcdb] Add the Bitvec object for tracking which pages have been journalled. This reduces memory consumption and runs faster than the bitmap approach it replaced. (CVS 4794) (user: drh branch: trunk)
2008-02-14
23:26
[1960545a87] part of check-in [669ece8c82] Add the experimental mem5.c memory allocator. Allocate the content part of cache pages separately from the header. (See check-ins (4495) and (4409)). (CVS 4789) (user: drh branch: trunk)
2008-02-02
20:47
[2ed8180809] part of check-in [fccb217d91] Delete unused "pager3_refinfo_enable" flag and its associated debugging macros. Ticket #2923. (CVS 4774) (user: drh branch: trunk)
2008-01-22
21:30
[d8c2f06c3c] part of check-in [1a335e1801] Add the fault injector module in fault.c. Use it as a basis for memory allocation failure testing. (CVS 4742) (user: drh branch: trunk)
2008-01-21
13:04
[fae75270b4] part of check-in [3d4252b06b] Remove some unused branches from internal function sqlite3PagerDontRollback(). (CVS 4733) (user: danielk1977 branch: trunk)
2008-01-18
13:42
[a55923e2de] part of check-in [65245d9904] Add a test (and fix) for possible corruption if malloc() fails during a CREATE INDEX statement, the application continues with the transaction, then crashes. (CVS 4725) (user: danielk1977 branch: trunk)
11:33
[cf40ab8f57] part of check-in [87534dfff9] Add a couple of missing calls to pagerLeave(). (CVS 4724) (user: danielk1977 branch: trunk)
2007-12-13
21:54
[0cb6ccea4b] part of check-in [4e91a267fe] Change all instances of "it's" in comments to either "its" or "it is", as appropriate, in case the comments are ever again read by a pedantic grammarian. Ticket #2840. (CVS 4629) (user: drh branch: trunk)
2007-12-11
19:34
[50d373df61] part of check-in [a5d81cd371] Build the CLI using the amalgamation. Relax the limit on SQL statement length when building the CLI. (CVS 4609) (user: drh branch: trunk)
2007-12-07
18:55
[2f420d4605] part of check-in [c9eb65912f] In shared-cache mode, make sure the busy hander invoked is the busy handler associated with the database connection that caused the lock contention in the first place. (CVS 4598) (user: drh branch: trunk)
2007-11-29
18:44
[65298fee4e] part of check-in [7d2f6a1d6c] Make sure we never try to "truncate" a file to a larger size. (CVS 4582) (user: drh branch: trunk)
2007-11-28
16:19
[bb524fe4b5] part of check-in [98960132dc] Change the BTree so that it uses the Pagers temporary page space when reorganizing the rows on a page, rather than mallocing for space of its own. In this way, we avoid having to deal with a malloc failure deep down inside the page reorganizer. Ticket #2806 (CVS 4577) (user: drh branch: trunk)
2007-11-27
16:55
[b1eaca429c] part of check-in [eeec8d27c4] Fix a bug that can cause a segfault on win32 systems following an I/O error. (CVS 4565) (user: drh branch: trunk)
2007-11-05
15:30
[c5ffa55c29] part of check-in [b752906e70] Fix some minor problems with malloc failure and in-memory databases. (CVS 4527) (user: danielk1977 branch: trunk)
2007-10-20
13:17
[a464ba8e60] part of check-in [f56c9884be] Go back to allocating each page and its header with a single memory allocation. This undoes the change of (4409). (CVS 4495) (user: drh branch: trunk)
2007-10-03
15:22
[0a92a08192] part of check-in [3d1d13d1eb] Fix a memory leak that could occur during error-state recovery. (CVS 4457) (user: danielk1977 branch: trunk)
08:46
[40381e1650] part of check-in [12eca32a6a] Add automatic recovery from the pager "error-state". Also add a new error code - SQLITE_IOERR_NOMEM. (CVS 4454) (user: danielk1977 branch: trunk)
2007-09-17
07:02
[d246d888bb] part of check-in [8b29f5fbfc] Add a parameter to specify the size of the output buffer passed to xGetTempname() and xFullPathname(). This, and the previous commit, are changes to the public vfs API introduced in 3.5.0. (CVS 4433) (user: danielk1977 branch: trunk)
06:06
[f38ad4de4d] part of check-in [ad3687b16e] Change the names of xGetTempName and sqlite3OsGetTempName to xGetTempname. To be consistent with xFullPathname and sqlite3OsFullPathname. (CVS 4432) (user: danielk1977 branch: trunk)
2007-09-10
06:12
[7245c8a53f] part of check-in [48e59c747f] Fix an undeclared identifier in an IOTRACE (debugging) block. (CVS 4416) (user: danielk1977 branch: trunk)
2007-09-06
23:28
[70b4b9b6e1] part of check-in [44d8d1e92d] Base the name of the statement journal on the original database filename. Remember the statement journal name for the lifetime of the Pager so that the name pointer passed to xOpen persists as long as the file exists. (CVS 4410) (user: drh branch: trunk)
22:19
[10a95d9373] part of check-in [2b755defe5] Allocate page cache headers and page cache data buffers separately. The data buffer will be a power of two in size and this gives some malloc implementation additional optimization opportunitites. (CVS 4409) (user: drh branch: trunk)
2007-09-03
15:19
[0ce52a22eb] part of check-in [020a2b10d4] Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some test cases added but more are needed. Ticket #2616. (CVS 4376) (user: drh branch: trunk)
2007-09-01
16:16
[ac52bb1e22] part of check-in [fb27692ab1] Remove the syncOk argument to pager_recycle. Now that sqlite3_memory_release uses a global lru list of page, it is no longer required. (CVS 4364) (user: danielk1977 branch: trunk)
2007-08-31
18:34
[9b89826758] part of check-in [306586c412] Remove the xLockState method for sqlite3_io_methods. Replace it with a defined call to xFileControl(). This simplifies the interface and also gives us coverage testing of sqlite3_file_control(). (CVS 4355) (user: drh branch: trunk)
16:11
[0c5fd99073] part of check-in [d3ab3e3911] Initial implementation of the sqlite3_file_control() interface. Compiles and passes all historical tests but the new method is itself untested. (CVS 4353) (user: drh branch: trunk)
2007-08-30
08:08
[847674a74c] part of check-in [481fd3a89e] Add tests for malloc() failure when the atomic-write optimization is being used. Also fix things so that rollback can occur without a malloc(), even if there is a master journal file. (CVS 4330) (user: danielk1977 branch: trunk)
2007-08-29
12:31
[f9830adfd3] part of check-in [e38ef81b85] Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (user: danielk1977 branch: trunk)
2007-08-28
22:24
[97fd0bb853] part of check-in [967ab229af] Clean up the locking in the btree logic. (CVS 4316) (user: drh branch: trunk)
08:00
[51ca27639a] part of check-in [0b80168895] Add some comments and test-cases for the global lru page list (used by sqlite3_release_memory()). (CVS 4308) (user: danielk1977 branch: trunk)
2007-08-27
17:27
[cfa6dc38b7] part of check-in [5626ce0b5e] Modify sqlite3_release_memory() to use a global LRU list of pages. Untested. (CVS 4301) (user: danielk1977 branch: trunk)
2007-08-24
16:29
[b076458d72] part of check-in [300038be93] Fix bugs in temp database handling introduced by the prevous check-in. (CVS 4288) (user: drh branch: trunk)
16:08
[f5c2a4e85b] part of check-in [b8451da378] Remove nRef and vfsMutex from the sqlite3_vfs structure. Omit the sqlite3_vfs_release() interface. Less memory allocated for a pager in the common case where the size of the pathname is less than MAX_PATH. (CVS 4287) (user: drh branch: trunk)
11:52
[6c9622a14f] part of check-in [13dda2e8e8] Select the default page size for new databases based on the sector-size and IOCAP flags. (CVS 4286) (user: danielk1977 branch: trunk)
08:15
[a46c807f6c] part of check-in [bdf5cb8d25] Add tests to simulate power-failure on devices that support IOCAP_SEQUENTIAL or IOCAP_SAFE_APPEND. (CVS 4284) (user: danielk1977 branch: trunk)
03:51
[89dfc6a0bd] part of check-in [3a68fcddfa] The win32 driver compiles but does not yet work well. Many bugs fixed. (CVS 4282) (user: drh branch: trunk)
2007-08-23
14:48
[0879439873a] part of check-in [595568492e] Add code to reduce rollback journal i/o based on IOCAP flags. As yet untested. (CVS 4278) (user: danielk1977 branch: trunk)
11:47
[896e95aa2d] part of check-in [cf4e3c158a] Ensure temporary files are deleted when they are closed. (CVS 4277) (user: danielk1977 branch: trunk)
11:07
[7b0eee5f01] part of check-in [5f0fb894f4] Add some further tests and a bugfix for the atomic-write optimization. (CVS 4276) (user: danielk1977 branch: trunk)
2007-08-22
22:04
[54087a81a4] part of check-in [205d0b881d] All of the malloc test cases run. Still seeing failures in malloc4.test. (CVS 4272) (user: drh branch: trunk)
18:54
[029a441236] part of check-in [b6399dff13] Fix a bug in the logic for journaling pages when the device sector-size is greater than the page size. (CVS 4270) (user: danielk1977 branch: trunk)
11:22
[3568c1c557] part of check-in [581fadfe31] Add code for the atomic-write optimisation. Disabled by default. (CVS 4268) (user: danielk1977 branch: trunk)
00:39
[d68e8c7b7e] part of check-in [1914044b88] Reenable the memory management logic. The quick.test script now runs with SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265) (user: drh branch: trunk)
2007-08-21
14:27
[df16604a2a] part of check-in [3fb97a63ef] Delay opening temporary pager files until they are first written. (CVS 4260) (user: danielk1977 branch: trunk)
10:44
[bb25ee85c9] part of check-in [fbbd5bda54] Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) (user: drh branch: trunk)
2007-08-20
16:07
[53af3942f9] part of check-in [917790413c] Call sqlite3OsSleep() with an argument in microseconds, not milliseconds. (CVS 4248) (user: danielk1977 branch: trunk)
05:36
[2771a39e24] part of check-in [cb24cda179] Fix full_fsync() related functionality broken as part of the migration to sqlite3_vfs. (CVS 4243) (user: danielk1977 branch: trunk)
2007-08-18
10:59
[e7b94954a4] part of check-in [a258c4ec24] Further progress on migration to sqlite3_vfs. (CVS 4242) (user: danielk1977 branch: trunk)
2007-08-17
15:53
[ee60b932e7] part of check-in [af3e3c7acd] Begin migration to using sqlite3_vfs interface. (CVS 4240) (user: danielk1977 branch: trunk)
2007-08-16
10:09
[812a3f78ea] part of check-in [77b1671351] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (user: danielk1977 branch: trunk)
04:30
[ddb0279c40] part of check-in [deb7ecd65f] Half-way through a major refactoring of the memory allocation. I have not even attempted to compile so I am certain there are countless errors. (CVS 4231) (user: drh branch: trunk)
2007-08-15
17:08
[05ea9dcbc4] part of check-in [af9503daf3] Modify the crash-recovery test code in test6.c for 3.5. Also change some other code to use the new sqlite3_io_methods interface. Lots of things are broken now. (CVS 4228) (user: danielk1977 branch: trunk)
2007-08-14
13:20
[f4bc626396] part of check-in [f0029da32f] Back-port critical soft heap limit fixes to version 3.3.17. The following check-ins were back-ported: (4031), (4037), (4097), (4202), (4203), (4207), (4208), (4214). (CVS 4222) (user: drh branch: branch_3_3_17)
2007-08-11
00:26
[cdf561d3ae] part of check-in [7961a73850] Backout check-in (4206) and replace it with a much better and more general fix for the problem identified in ticket #2565. (CVS 4208) (user: drh branch: trunk)
2007-08-10
23:56
[7a96ab0dca] part of check-in [51f3e01b74] Fix some incorrect asserts() in the pager - problems brought to light by the new soft-heap-limit testing apparatus of check-in (4202). (CVS 4207) (user: drh branch: trunk)
23:54
[e4fec09c20] part of check-in [7ed2f59e70] Fix the corruption problem of ticket #2565 as demonstrated by the test added in (4204). There may yet be other instances of similar problems lurking in the code. (CVS 4206) (user: drh branch: trunk)
2007-08-07
17:13
[7e4a5766c1] part of check-in [7550dd1d59] Remove all tabs from source code files. Ticket #2556. (CVS 4198) (user: drh branch: trunk)
2007-07-20
00:33
[79a4587cc5] part of check-in [31dba1e933] Cleanup unused function in pager.c. This is the conclusion of the fix to ticket #2518. We believe the fix is complete and correct. (CVS 4165) (user: drh branch: trunk)
2007-07-19
16:35
[ce52bc1b12] part of check-in [75263797e2] Preliminary fix for ticket #2518. Make sure the VACUUM command increments the change counter. (CVS 4163) (user: drh branch: trunk)
2007-06-26
22:10
[43e9bffb0e] part of check-in [338c187910] Remove vestigal code from Makefile.linux-gcc. Ticket #2466. (CVS 4133) (user: drh branch: trunk)
2007-06-18
17:25
[39352b58ee] part of check-in [ba967bbb62] Bring the pager_datahash() macro into sync with its function definition. Ticket #2422. (CVS 4087) (user: drh branch: trunk)
2007-06-16
18:39
[9eeb505af0] part of check-in [4cff47b061] Fix a faulty assert() in the pager. (CVS 4083) (user: drh branch: trunk)
11:17
[d7e2b57f57] part of check-in [57bf8204cd] A minor logic correction in the previous check-in. Also added a lengthy comment describing the meanings of various flags in the {quote: PgHdr} structure. (CVS 4080) (user: drh branch: trunk)
04:42
[a8e5c2fd00] part of check-in [c9dcf2b926] Fix a database corruption problem that can occur in auto-vacuum mode when a malloc() failure causes a statement rollback, additional statements are run in the same transaction, then the total transaction rolls back. (CVS 4079) (user: drh branch: trunk)
03:06
[a4a02246d2] part of check-in [dcdb20f81a] Additional debugging instrumentation added to the pager. (CVS 4078) (user: drh branch: trunk)
2007-06-13
15:22
[42cffb2e04] part of check-in [ce2c9925d0] Fix for #2409. Return SQLITE_IOERR_BLOCKED instead of SQLITE_BUSY in cases where failure to obtain a database lock leaves the cache in an inconsistent state. See additional information at CorruptionFollowingBusyError. (CVS 4060) (user: danielk1977 branch: trunk)
2007-05-24
09:41
[a193f8f078] part of check-in [16c8e9c20c] Remove an assert() statement that may not be true if an IO or malloc error has occured. (CVS 4037) (user: danielk1977 branch: trunk)
07:22
[9fa154fbc5] part of check-in [3c54cddf23] Fix an assert() failure occuring in corrupt.test. (CVS 4034) (user: danielk1977 branch: trunk)
2007-05-10
21:31
[8f01a1ca03] part of check-in [e91012b603] Backport the stack-size reduction patch in (3673) to version 3.3.13. (CVS 3979) (user: drh branch: branch_3_3_13)
2007-05-09
20:35
[acfa86f50b] part of check-in [c0dbac4630] Fix a typo in a comment. Ticket #2348. (CVS 3966) (user: drh branch: trunk)
15:56
[42c7787545] part of check-in [e8e879aca6] Fix an obscure cache corruption that could occur after an SQLITE_FULL error. (CVS 3964) (user: danielk1977 branch: trunk)
2007-05-08
21:45
[8799ca4265] part of check-in [c5754530c6] Remove compiler warnings in the amalgamation. (CVS 3960) (user: drh branch: trunk)
14:51
[c5b32e741f] part of check-in [b1b74f0668] Add the max_page_count pragma used to limit the maximum size of a database file. Untested. (CVS 3948) (user: drh branch: trunk)
2007-05-05
11:48
[9c9a9df786] part of check-in [16041116aa] Refactoring. Split btreeInt.h off from btree.c. Split malloc.c off from util.c. Expect much more to follow. (CVS 3925) (user: drh branch: trunk)
2007-05-04
13:15
[f01e0e577b] part of check-in [ba4845b32b] Eliminate all uses of sprintf() and strcpy(). These were not being misused. But getting rid of them removes a library dependency. And it avoids warnings from the OpenBSD compiler. Ticket #2336. (CVS 3916) (user: drh branch: trunk)
12:01
[680e42a6e0] part of check-in [2d37687a08] Fix a formatting errror in I/O logging. (CVS 3914) (user: drh branch: trunk)
2007-05-03
17:18
[22bd6df426] part of check-in [8a43e1676f] Improvements to I/O tracing output. Require -DSQLITE_ENABLE_IOTRACE when compiling shell.c in order to link in the I/O tracing capability. (CVS 3909) (user: drh branch: trunk)
2007-05-01
16:59
[23da15e142] part of check-in [e5e6af55cc] The pager takes the sector size to be the larger of the sector size reported by sqlite3OsSectorSize() and the page size. (CVS 3890) (user: drh branch: trunk)
2007-04-28
15:47
[48b1ebe8c9] part of check-in [89b1b3f897] Add some tests (and 2 resulting bug fixes) to incr vacuum mode. (CVS 3885) (user: danielk1977 branch: trunk)
2007-04-26
12:11
[cd2770b0f8] part of check-in [d0745a43b6] In the pager, load the content of pages which were initialized with noContent==1 if they are subsequently requested with noContent==0. (CVS 3875) (user: drh branch: trunk)
2007-04-16
15:02
[33c632ce9c] part of check-in [e44995debf] Detect database file changes using a 128-bit segment of the file header that includes the change counter. Ticket #2303. (CVS 3844) (user: drh branch: trunk)
2007-04-13
04:01
[4fb7253edc] part of check-in [e39efa195a] Fix a bug in autovacuum introduced by (3839). (CVS 3841) (user: drh branch: trunk)
02:14
[2a5df21f1f] part of check-in [32bb2d5859] Fix multiple performance regressions (ticket #2298 among them) and add tests to make sure they do not come back. (CVS 3839) (user: drh branch: trunk)
2007-04-09
11:20
[655073dd7b] part of check-in [4e8941333e] Have the pager call xReiniter() instead of xDestructor() to restore btree level state after rolling back a page. (CVS 3828) (user: danielk1977 branch: trunk)
2007-04-07
15:03
[d0bd990ade] part of check-in [0af764a026] For filesystem databases, do not store a list of pages in the statement journal in main memory. (CVS 3825) (user: danielk1977 branch: trunk)
2007-04-06
18:23
[e1ee86ae8d] part of check-in [26b2e1aede] Additional coverage testing. (CVS 3823) (user: drh branch: trunk)
2007-04-05
17:15
[642f804b20] part of check-in [9dc4100eff] Always truncate the pager cache when truncating the database file. Also reorganize the code to check the change-counter after first obtaining a shared lock. (CVS 3814) (user: danielk1977 branch: trunk)
14:29
[6c70842fe6] part of check-in [97c5159816] Use the MEMDB macro instead of OMIT_MEMORYDB in pager_recycle(). (CVS 3813) (user: danielk1977 branch: trunk)
13:12
[82dca058bf] part of check-in [c20f7563c0] Avoid attempting to reclaim memory from in-memory databases in sqlite3_release_memory(). (CVS 3812) (user: danielk1977 branch: trunk)
11:54
[52f2212429] part of check-in [973b2a5fb5] Add some assert() statements to pager.c. (CVS 3811) (user: danielk1977 branch: trunk)
11:25
[c92f45c878] part of check-in [38af156da8] Improvements to coverage testing. (CVS 3810) (user: drh branch: trunk)
08:40
[90c1b538c5] part of check-in [383a08e260] Catch an IO error case introduced by (3808). (CVS 3809) (user: danielk1977 branch: trunk)
05:46
[1808ab8f0d] part of check-in [5180810eea] Zero cached pages located beyond the end of the file before returning them. Ticket #2285. (CVS 3808) (user: danielk1977 branch: trunk)
2007-04-02
11:22
[30e4a54e4c] part of check-in [22e10cc24e] If an IO error is encountered on a commit, close the journal so that it persists and can (hopefully) rollback the failed transaction later. (CVS 3792) (user: drh branch: trunk)
11:08
[0583079cb7] part of check-in [4d8c6bf44e] Correctly handle the obscure case of a read-only hot-journal file. (CVS 3791) (user: danielk1977 branch: trunk)
05:07
[a73e3b06cf] part of check-in [ba0538a497] Fix a resource leak introduced by the change-counter optimisation. Also add some test coverage. (CVS 3790) (user: danielk1977 branch: trunk)
2007-04-01
23:49
[84072e9b5f] part of check-in [18aec1ddfb] Fix some warnings about unused and uninitialized variables. (CVS 3788) (user: drh branch: trunk)
2007-03-31
10:00
[5d07eba846] part of check-in [665b119a24] More coverage for pager.c. (CVS 3778) (user: danielk1977 branch: trunk)
2007-03-30
20:43
[70de94d268] part of check-in [6dfd4a12a8] Remove vestiges of the SQLITE_PROTOCOL error. (CVS 3773) (user: drh branch: trunk)
17:18
[15118c2b51] part of check-in [f5fad52a97] Remove asserts on the existing of journal files in pager - asserts that are not valid for certain kinds of simulated I/O errors or for async I/O. (CVS 3769) (user: drh branch: trunk)
16:01
[ae0b1e1ae9] part of check-in [04d3b9098e] Always enable exclusive access mode for TEMP databases. This cannot be changed. The locking_mode pragma has not effect on the TEMP database. (CVS 3766) (user: drh branch: trunk)
14:46
[08e997b916] part of check-in [e5f17078a2] Tease apart the two phases of pager commit. (CVS 3763) (user: drh branch: trunk)
14:06
[f9131543cc] part of check-in [66b3ad09ea] Refactoring the btree and pager routines into distinct two-phase commit routines. We've always done a two-phase commit - this change is just making that more apparent in the code. (CVS 3762) (user: drh branch: trunk)
2007-03-29
18:19
[b89ea0f592] part of check-in [0fb9af1d6e] Change the name of PAGER_SECTOR_SIZE to SQLITE_DEFAULT_SECTOR_SIZE. Make the new OS-layer interface routine for finding sector size optional. (CVS 3750) (user: drh branch: trunk)
17:28
[9a6eefc192] part of check-in [e746832f5f] Avoid calling OsDelete() on journal files when they are opened for temporary databases. Fix for #2255. (CVS 3748) (user: danielk1977 branch: trunk)
2007-03-28
01:59
[1a881105a2] part of check-in [0f7fdb022c] Fix an memory allocation error revealed by malloc3.test. (CVS 3733) (user: drh branch: trunk)
2007-03-27
17:37
[444a49c2fa] part of check-in [e4452e8aed] Remove a c++ comment in pager.c. (CVS 3730) (user: danielk1977 branch: trunk)
16:19
[2cc40af071] part of check-in [b24a6e7b02] Test handling of IO errors that occur in OsDelete() or OsTruncate() operations. Also use an anonymous file for temporary storage during a VACUUM. (CVS 3729) (user: danielk1977 branch: trunk)
13:36
[7a60e7e1f8] part of check-in [c8a8a189a8] More strict aliasing fixes. The single source file library now runs successfully with -fstrict-alias. (CVS 3725) (user: drh branch: trunk)
2007-03-26
22:05
[f40ac7af27] part of check-in [0b832e218e] Modify sources to that they can be combined into a single sqlite3.c source file. Eliminate all type-pruned pointer warnings. (CVS 3722) (user: drh branch: trunk)
15:46
[d5fc7caffe] part of check-in [e4209f7193] Discard the pager-cache when the page-size is changed. (CVS 3719) (user: danielk1977 branch: trunk)
13:48
[d9b188cbe6] part of check-in [ab53f50863] Avoid unnecessary calls to pager_unwritelock() when in exclusive-access mode. Add the speed2.test script to the test suite. (CVS 3718) (user: drh branch: trunk)
12:26
[75019bab2d] part of check-in [127454903764d] Run some malloc() tests with exclusive-access mode. (CVS 3717) (user: danielk1977 branch: trunk)
10:27
[4c83ffbb02] part of check-in [72cb2e1a73] Add some tests and fixes surrounding exclusive-access mode and the pager change-counter. (CVS 3716) (user: danielk1977 branch: trunk)
08:05
[5846d0c1b0] part of check-in [899e60707b] Some fixes and test cases for exclusive access mode. (CVS 3714) (user: danielk1977 branch: trunk)
2007-03-24
16:45
[9023042d50] part of check-in [b6c700370b] Changes for exclusive access mode. There are still some bugs. (CVS 3712) (user: danielk1977 branch: trunk)
2007-03-23
18:12
[da3c5e90b2] part of check-in [07b56965f3] Discard the contents of the pager-cache only when the change-counter indicates that it is stale. (CVS 3711) (user: danielk1977 branch: trunk)
2007-03-19
17:44
[dec2b25851] part of check-in [7dc7658887] Modify the interface to the pager sub-system in preparation for performing IO in blocks based on sector-size, not database page-size. (CVS 3705) (user: danielk1977 branch: trunk)
13:53
[3688e882a1] part of check-in [9f62ef1ec3] Fix some problems with test cases in shared_err.test. Also a real bug causing a segfault after an IO error in pager.c. (CVS 3703) (user: danielk1977 branch: trunk)
11:25
[c276e9de4e] part of check-in [3a3e8eb25d] Changes to support medium sector sizes larger than the database page size. (CVS 3701) (user: danielk1977 branch: trunk)
05:54
[097923484b] part of check-in [5752d84d37] Add new OS file method to return the sector-size of the underlying storage: sqlite3OsSectorSize() (CVS 3700) (user: danielk1977 branch: trunk)
2007-03-15
12:51
[ccca82d0f6] part of check-in [ea8507a796] Fix the pager so that it handles persistent I/O errors correctly. Update the testing infrastructure so that it tests for persistent I/O errors instead of just transient errors. (CVS 3690) (user: drh branch: trunk)
01:16
[999194d214] part of check-in [5af61402f6] Enhanced temp-file security under unix. There are no known attacks against prior versions - this check-in is just an added precaution. (CVS 3687) (user: drh branch: trunk)
2007-03-06
13:46
[680bf115aa] part of check-in [dfe1dffa45] Use heap instead of stack for large buffers in the pager. Fix for #2262. (CVS 3673) (user: danielk1977 branch: trunk)
2007-03-04
13:15
[c78d1cc1a0] part of check-in [2ba5be3119] Changes to the btree and pager that reduce the amount of I/O when dealing with the freelist. (1) Avoid journaling pages of a table that is being deleted. (2) Do not read the original content of pages being pulled off of the freelist. (CVS 3671) (user: drh branch: trunk)
2007-03-01
00:29
[5d3a127c93] part of check-in [ed915f579a] Additional I/O Tracing support. (CVS 3667) (user: drh branch: trunk)
2007-02-28
04:47
[e1ef884e2b] part of check-in [007ca28389] Add the undocumented and experimental I/O tracing interface. This interface is likely to change and may be completely abandoned in the near future. (CVS 3665) (user: drh branch: trunk)
2007-01-05
02:00
[d6ad66eb11] part of check-in [36a2db96ef] In the btree.c, when releasing the page1 lock, first make sure the pager has not reset and released the lock already. This fixes a bug introduced by (3549). (CVS 3563) (user: drh branch: trunk)
2007-01-04
14:58
[48296c371c] part of check-in [8cad5d671b] Fix a memory leak introduced by the latest changes to pager.c. (CVS 3554) (user: drh branch: trunk)
2007-01-03
23:36
[28fdd84dc1] part of check-in [a593d5743e] Additional changes in the pager and os interface layers to fix problems that might be contributing to recently observed database corruption. (CVS 3549) (user: drh branch: trunk)
15:34
[4dbd6a12eb] part of check-in [6806b9ecb5] Make sure that the database size cache in the pager is invalidated whenever the database is unlocked. A stale value in the database size cache can result in database corruption on a heavily loaded system running autovacuum. (CVS 3548) (user: drh branch: trunk)
2007-01-02
18:41
[5a153277b0] part of check-in [bf1afd016a] Update the vtab_err test to check for -DSQLITE_MEMDEBUG=1 and skip the tests if missing. Pager is more careful to clear its file size cache. Remove an assert() in VDBE that might fail on a corrupt database file. (CVS 3547) (user: drh branch: trunk)
2006-12-18
18:34
[814268d5bb] part of check-in [4dffc4c3c9] Speed improvement: do not journal or rollback pages that are pulled out of the freelist. (CVS 3531) (user: drh branch: trunk)
2006-11-23
11:58
[18c9cb43b3] part of check-in [6221cf4f52] Make the pager sector size configurable at compile-time. (CVS 3517) (user: drh branch: trunk)
2006-11-06
21:20
[3114c819a6] part of check-in [6324ea811e] Use the difference between the SQLITE_IOERR_SHORT_READ and SQLITE_IOERR_READ returns from sqlite3OsRead() to make decisions about what to do with the error. (CVS 3503) (user: drh branch: trunk)
2006-10-03
19:05
[a1293bb4d3] part of check-in [70501e4ea5] Report the error SQLITE_CORRUPT instead of SQLITE_IOERR if unable to rollback a hot journal that was damaged (for example) by filesystem corruption following a power failure. (CVS 3460) (user: drh branch: trunk)
2006-09-15
12:29
[0f966f7fa2] part of check-in [78ae74db1c] Bug fix and better testing of the extended result codes. (CVS 3423) (user: drh branch: trunk)
07:28
[65bb33144c] part of check-in [ba579ddc43] Add support for extended result codes - additional result information carried in the higher bits of the integer return codes. This must be enabled using the sqlite3_extended_result_code() API. Only a few extra result codes are currently defined. (CVS 3422) (user: drh branch: trunk)
2006-08-08
13:51
[e51c079b3c] part of check-in [76e4d41877] Remove most static and global variables from a pure build. There are still a number of static and global variables used for testing. (CVS 3342) (user: drh branch: trunk)
2006-06-28
18:18
[2ae998a64f] part of check-in [60616496b7] Changes to get tests to pass with OMIT_VIRTUALTABLE. Ticket #1877. (CVS 3318) (user: drh branch: trunk)
2006-06-15
14:31
[7ef4c5098b] part of check-in [fe3e70a727] Write database pages in sorted order to reduce file fragmentation. This is an experimental change. It is not clear if it will help any. It may well be removed in the future. (CVS 3255) (user: drh branch: trunk)
2006-05-07
17:49
[ddd05666bb] part of check-in [ef8e9886f4] Automatically increase the size of the pager hash table as the number of in-memory pages increases. Tickets #1790 and #1799. (CVS 3180) (user: drh branch: trunk)
2006-05-03
23:34
[57348b2191] part of check-in [8f820e4352] Faster :memory: database COMMITs. Ticket #1790. (CVS 3178) (user: drh branch: trunk)
2006-04-07
13:54
[ca7112635a] part of check-in [1929e37d5e] Reorder code so that it compiles with SQLITE_OMIT_MEMORYDB. Ticket #1754. (CVS 3170) (user: drh branch: trunk)
2006-03-26
20:49
[33186636a0] part of check-in [fe0920c792] Work around a bug in GCC 4.0.2. (CVS 3154) (user: drh branch: trunk)
2006-03-23
23:29
[0b34f79119] part of check-in [21446df642] Get autovacuum and in-memory databases working together. Ticket #1727. (CVS 3148) (user: drh branch: trunk)
2006-03-16
16:19
[0e5a3d1e7e] part of check-in [6c5175bc0f] Fix some compiler warnings. (CVS 3140) (user: drh branch: trunk)
2006-03-06
20:55
[7b1975e2fa] part of check-in [e510e6dd9d] Code changes resulting from Coverity analysis. http://scan.coverity.com/ Found 1 potential segfault in sqlite3_mprintf(). Also 2 failures to fclose() following a malloc() failure. And lots of cases where unnecessary conditionals could be removed from the code. (CVS 3126) (user: drh branch: trunk)
18:23
[dcc9966177] part of check-in [9c26570743] Pager performance enhancements. (CVS 3125) (user: drh branch: trunk)
2006-02-24
03:09
[f65d0b0518] part of check-in [a359b1817e] Additional compiler warnings suppressed. (CVS 3111) (user: drh branch: trunk)
02:53
[bb2c0007f6] part of check-in [4b22e4b847] Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (user: drh branch: trunk)
2006-02-11
01:25
[c438aa5fc2] part of check-in [f2069d0bf3] Add support and documentation for the fullfsync pragma. Also include some other unrelated documentation updates. (CVS 3080) (user: drh branch: trunk)
2006-01-30
22:48
[b5b380ea7a] part of check-in [34dff874a2] Memory DB works with autovacuum. (CVS 3041) (user: drh branch: trunk)
2006-01-24
13:09
[c9fdc3f402] part of check-in [c30705a00d] Return code was being dropped because of overridden variable in OP_IsUnique. Fix this and the test logic problem that hid it. (CVS 3025) (user: danielk1977 branch: trunk)
12:09
[c4d18015a4] part of check-in [d86f18a427] Rename some variables to avoid hiding others. Also add "static" to two function signatures that were missing it. (CVS 3024) (user: danielk1977 branch: trunk)
2006-01-23
16:21
[b101634a09] part of check-in [77969c671c] Add "#ifndef NDEBUG" around sqlite3pager_iswriteable() (only used in assert() expressions). Also set the internal page number of a page to zero if it fails to initialise. (CVS 3005) (user: danielk1977 branch: trunk)
15:39
[d94bad3ef2] part of check-in [8c7e18c3f2] Fix a bug in pager.c that was overwriting freed memory. Comment changes in util.c. (CVS 3002) (user: drh branch: trunk)
15:25
[86619d2739] part of check-in [a9ec5ee472] Further coverage improvements for pager.c and another IO error bug fix. (CVS 3001) (user: danielk1977 branch: trunk)
13:47
[9c0ac75361] part of check-in [0f6329ef1f] Do not automatically rollback at the btree or pager level if a commit fails. (CVS 2999) (user: danielk1977 branch: trunk)
13:09
[184a3045ff] part of check-in [6ec8e6b785] Improve coverage of pager.c and fix an IO error handling bug found in the process. (CVS 2995) (user: danielk1977 branch: trunk)
2006-01-21
12:08
[0f1565938c] part of check-in [29281dea81] Fix more problems with malloc() and IO failures. (CVS 2985) (user: danielk1977 branch: trunk)
2006-01-20
18:10
[7e12492834] part of check-in [507653a98c] More compiler warnings fixed - or in some cases comments are added to explain that the compiler is wrong. (CVS 2984) (user: drh branch: trunk)
16:32
[39bf1957f8] part of check-in [7e34163a65] Fix another couple of IO or malloc() failure problems in a shared-cache context. (CVS 2982) (user: danielk1977 branch: trunk)
10:55
[49fab8c32d] part of check-in [97491d4eb5] Handle some of the IO error conditions that may occur in a shared-cache context. (CVS 2980) (user: danielk1977 branch: trunk)
2006-01-18
18:22
[ccdd092702] part of check-in [c7b9d50d0a] Include the ThreadData structure in internal malloc() testing. Also fixes for revealed bugs. (CVS 2974) (user: danielk1977 branch: trunk)
17:25
[651fda1756] part of check-in [e1ad9df1cf] Modify the sqlite3OsInMutex os-layer interface to take a single parameter to distinguish between mutexes held by the current thread and mutexes held by any thread. Part of the fix for ticket #1630. (CVS 2973) (user: drh branch: trunk)
16:51
[099b24285d] part of check-in [ac090f2ab3] Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) (user: danielk1977 branch: trunk)
15:25
[62c0f6b4c4] part of check-in [e0b022e5b2] Change sqlite3MallocClearFailed() calls to sqlite3ApiExit(), a better API. (CVS 2970) (user: danielk1977 branch: trunk)
2006-01-16
15:32
[e84713f719] part of check-in [36b0325965] Fix problems compiling with memory-management enabled. Ticket #1619. (CVS 2960) (user: danielk1977 branch: trunk)
15:14
[a8ba14f898] part of check-in [0d5d83bcbd] Fix some of the issues raised in #1615. (CVS 2959) (user: danielk1977 branch: trunk)
12:46
[02a3068753] part of check-in [9927522923558348a] Run the tests in shared.test a second time using an autovacuum database. (CVS 2957) (user: danielk1977 branch: trunk)
11:29
[24d4b97c29] part of check-in [7b48836214] Clarify error handling in pager code. No functional changes. (CVS 2956) (user: danielk1977 branch: trunk)
2006-01-15
20:28
[12da1f38d6] part of check-in [c7da3aa9bd] Code size reductions in the pager. (CVS 2952) (user: drh branch: trunk)
2006-01-11
21:41
[a96b9c4366] part of check-in [5d9c6aa964] Automatically deallocate thread-specific data when it is no longer being used. Ticket #1601. Also implemented the suggestion of ticket #1603. Memory management is now off by default at compile-time. The sqlite3_enable_memory_management() API has been removed. (CVS 2919) (user: drh branch: trunk)
2006-01-10
20:32
[0a59a320b0] part of check-in [e6e6750c24] Combine multiple small calls to sqlite3OsWrite into one larger call. (CVS 2910) (user: drh branch: trunk)
2006-01-09
23:40
[f84488fa61] part of check-in [ec332d8822] Added database server example code (untested). Fixed serveral bugs including the autovacuum compile problem described by ticket #1593. (CVS 2897) (user: drh branch: trunk)
09:59
[6fbcc25f1f] part of check-in [44f8e3139a] Add a runtime interface to enable memory-management features. (CVS 2894) (user: danielk1977 branch: trunk)
06:29
[f838695a6c] part of check-in [82b81f69c7] Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (user: danielk1977 branch: trunk)
2006-01-06
14:32
[f06b85eb1e] part of check-in [2529c2e11f] Change the OS interface layer to use traditional direct function call implementations instead of the more complicated virtual function table. Omit the asynchronous I/O demo. (CVS 2870) (user: drh branch: trunk)
2006-01-05
13:48
[07509ddb47] part of check-in [6fdbb8b771] Disable automatic invocation of sqlite3_release_memory() when a malloc() fails in those cases where the global mutex is held. (CVS 2860) (user: danielk1977 branch: trunk)
2005-12-30
16:28
[681b4e39d5] part of check-in [2afcad9901] Add part of the btree layer of the shared-cache feature. (CVS 2848) (user: danielk1977 branch: trunk)
2005-12-20
09:19
[5227ea29ac] part of check-in [c2c5285442] Add simple tests and fixes for sqlite3_soft_heap_limit() (CVS 2837) (user: danielk1977 branch: trunk)
2005-12-19
17:37
[e44cb43e9c] part of check-in [3f5f358f82] Backport the fix for ticket #1567 to version 2.8. (CVS 2832) (user: drh branch: version_2)
16:29
[b74ebe5aca] part of check-in [33397742282425351157a] Backport the fix for ticket #1567 into the 3.2 branch. (CVS 2829) (user: drh branch: branch_3_2)
16:15
[f196953977] part of check-in [e6106cc133] Tentative fix for ticket #1567: disable the sqlite3pager_dont_write() optimization when a statement transaction is active. We continue to look for a better fix. (CVS 2827) (user: drh branch: trunk)
14:18
[154825d3b0] part of check-in [154282fca5] Add some very simple test cases (and resulting bug fixes) for release_memory(). (CVS 2826) (user: danielk1977 branch: trunk)
2005-12-18
08:51
[d501a79293] part of check-in [345addaa03] Add the (untested) sqlite3_release_memory() function. (CVS 2825) (user: danielk1977 branch: trunk)
2005-12-09
20:02
[49f63a54b5] part of check-in [83a5915155] Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (user: drh branch: trunk)
2005-12-06
12:52
[893cb21062] part of check-in [e1606658f1] Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800) (user: danielk1977 branch: trunk)
2005-11-30
03:20
[bcb54653c3] part of check-in [bd8740d1ae] Restructure the OS interface yet again. This time make the OsFile object a virtual base class which is subclassed for unix, windows, and the crash test simulator. Add the new file "os.c" for common os layer code. Move all OS-specific routines into the sqlite3Os structure. (CVS 2795) (user: drh branch: trunk)
2005-11-29
03:13
[18cc5b274a] part of check-in [058f317538] Make the OsFile structure opaque with its internal structure known only to the appropriate os_*.c implementation. Omit the os_unix.h and os_win.h include files. The crash tests are broken by this patch. (CVS 2791) (user: drh branch: trunk)
2005-11-26
03:51
[309d473c01] part of check-in [008f676f20] Remove some vestiges of the old OS_TEST driver. (CVS 2787) (user: drh branch: trunk)
03:43
[8231fb8d94] part of check-in [57a674fc71] Add an OS method for making copies of file descriptors. This fixes the crash tests. (CVS 2786) (user: drh branch: trunk)
00:25
[561657a20e] part of check-in [1f69aec285] Modify the OS layer so that I/O routines are called through a virtual function table. The os_test.c module has been replaced by test6.c. The crash tests are busted now and need to be fixed. (CVS 2785) (user: drh branch: trunk)
2005-11-05
15:11
[ca23cdff9e] part of check-in [6331860e77] Work around a bug in MSVC++. Ticket #1513. (CVS 2763) (user: drh branch: trunk)
2005-11-04
22:03
[0d8dda8bba] part of check-in [1b6bf4188e] VACUUM works even on an empty database. Ticket #1512. (CVS 2760) (user: drh branch: trunk)
2005-09-17
15:20
[adbb27f13a] part of check-in [c07330000b] Changes to make corruption errors easier to track down. (CVS 2709) (user: drh branch: trunk)
2005-09-16
17:16
[68b0595469] part of check-in [5b6dc12b7d] Do not journal the locking page which doing an autovacuum. Similar to the problem of #1432 except that this one occurs on autovacuum instead of vacuum. An assert() has been added to catch any future incidents of this type. (CVS 2704) (user: drh branch: trunk)
10:18
[96802068d3] part of check-in [35a8893537] Prevent the sqlite3_pagecount() function from ever returning the pending-byte page. (CVS 2702) (user: danielk1977 branch: trunk)
2005-09-09
01:32
[2b48db1cc6] part of check-in [461e3a0a27] Defend against disk I/O errors that happen during an sqlite3OsSeek(). (CVS 2679) (user: drh branch: trunk)
2005-09-08
12:38
[bf7e0df511] part of check-in [3c555a8749] While doing a transaction comment, use fdatasync() instead of fsync() in cases there the file size is unchanged. (CVS 2673) (user: drh branch: trunk)
2005-08-27
16:36
[cd9896287a] part of check-in [644b96aa23] Disable synchronous writes to the master journal when PRAGMA synchronous=OFF for all database files. Ticket #1375. (CVS 2630) (user: drh branch: trunk)
2005-08-21
16:54
[4c6c6a553d] part of check-in [7f4302686e] Do not overwrite small files (less than 1024 bytes) that are not databases. Ticket #1370. (CVS 2606) (user: drh branch: trunk)
2005-07-09
02:16
[ee3bbc4cd5] part of check-in [af2a0ba4a3] Make sure there is only one busy counter. Ticket #1315. (CVS 2543) (user: drh branch: trunk)
2005-06-07
02:12
[841a2cdddd] part of check-in [914d6e6549] Add tests to make sure statement journals are only opened when necessary. (CVS 2500) (user: drh branch: trunk)
2005-05-22
20:30
[f86d79d37e] part of check-in [2db2b32f26] The cache_size pragma should not reset the synchronous pragma. Ticket #1260. (CVS 2474) (user: drh branch: trunk)
2005-05-21
02:48
[c91b599f64] part of check-in [6b6e525b29] More structure rearrangements for additional size reductions. Ticket #1253. (CVS 2468) (user: drh branch: trunk)
2005-05-20
20:11
[a17fe8849f] part of check-in [27025613bc] Reorder structure fields to reduce code footprint. Ticket #1253. Need to do more of this. (CVS 2467) (user: drh branch: trunk)
20:01
[d16a149938] part of check-in [f29a1d8826] Do not allow the pagesize of :memory: databases to be changed. Silently ignore PRAGMA page_size=N requests for :memory: databases. Ticket #1144 and #1252. (CVS 2466) (user: drh branch: trunk)
2005-04-28
17:18
[a48f537db3] part of check-in [6863703abc] Enhancements to allow for extensions. (CVS 2448) (user: drh branch: trunk)
2005-03-28
18:04
[95e24c9134] part of check-in [4ca11ca015] Fix another memory leak in the pager. (CVS 2425) (user: drh branch: trunk)
08:44
[221076cde9] part of check-in [0fd5ce4eef] Modifications to reduce memory consumption. (CVS 2422) (user: danielk1977 branch: trunk)
03:39
[4c1322dc84] part of check-in [bcb5d72ef1] Fix some memory leaks that occur after a malloc failure. (CVS 2421) (user: drh branch: trunk)
2005-03-21
04:04
[d6ba309696] part of check-in [1f9d10d796] Add function to recover from a malloc() failure. (CVS 2414) (user: danielk1977 branch: trunk)
03:53
[f12044be70] part of check-in [e7844a01c2] Assorted fixes to the handling of various malloc() failures. (CVS 2413) (user: danielk1977 branch: trunk)
2005-03-20
22:47
[e5000ca94b] part of check-in [0471d6b86f] More changes for ticket #1171 after additional analysis. (CVS 2403) (user: drh branch: trunk)
19:10
[bac21a1335] part of check-in [f0a39cee78] Tentative fix for ticket #1171. More research and testing needed. (CVS 2402) (user: drh branch: trunk)
2005-03-15
17:09
[26a642c123] part of check-in [856e2ec968] When creating a new database, delete any preexisting journal that might be left over from a prior database with the same name. Ticket #1152. (CVS 2387) (user: drh branch: trunk)
2005-03-14
02:01
[2e795b3d85] part of check-in [644c6398e5] Be more aggressive about using the busy handler. Ticket #1159. (CVS 2385) (user: drh branch: trunk)
2005-03-10
14:11
[a789b0ffe7] part of check-in [58b8733b96] Disable F_FULLSYNC if the sychronous pragma is not set to FULL. (CVS 2372) (user: drh branch: trunk)
2005-03-09
13:09
[b728c90bfa] part of check-in [64c4c717d3] Fix a file corruption bug in CREATE INDEX in auto-vacuum databases. (CVS 2368) (user: danielk1977 branch: trunk)
2005-02-15
03:38
[835028769569971c] part of check-in [dcbc983355] Ensure a database file is not truncated without an exclusive lock. Fix for ticket #1114. (CVS 2332) (user: danielk1977 branch: trunk)
02:54
[69efe972d6] part of check-in [8514a4feb2] Check that read-only pages are not being modified (disabled by default). (CVS 2331) (user: danielk1977 branch: trunk)
2005-02-06
02:45
[d0c1f41b41] part of check-in [2155448d21] Add the (highly experimental) omit_readlock pragma that disables the use of readlocks on read-only databases that are connected using ATTACH. (CVS 2317) (user: drh branch: trunk)
2005-01-29
08:32
[d21565d0e8] part of check-in [b1b50f3158] Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) (user: danielk1977 branch: trunk)
2005-01-22
03:39
[886a1ae433] part of check-in [764b55adb5] Test script changes: Bug fix and cleanup on ioerr tests. Also, don't use TCL "file copy" command on windows. (CVS 2264) (user: danielk1977 branch: trunk)
2005-01-21
08:13
[49ee879e0a] part of check-in [c6fc49e610] Exclude a few more lines of code using OMIT macros. (CVS 2253) (user: danielk1977 branch: trunk)
2005-01-20
11:32
[05d23abbcf] part of check-in [5b1a9bf6aa] Extend the influence of a couple of SQLITE_OMIT_** macros a little bit. (CVS 2243) (user: danielk1977 branch: trunk)
2005-01-17
01:33
[6319578f17] part of check-in [feb49d10e8] Have sqlite3pager_get() return SQLITE_CORRUPT for a page number greater than 2^31. (CVS 2222) (user: danielk1977 branch: trunk)
2005-01-13
11:07
[4b37f741fc] part of check-in [0428a14801] Test cases to improve coverage of pager.c. (CVS 2205) (user: danielk1977 branch: trunk)
2005-01-11
10:25
[c6b29d55c9] part of check-in [8ced491588] Test cases to improve coverage of btree.c (and minor bugfixes). (CVS 2190) (user: danielk1977 branch: trunk)
2005-01-08
12:42
[4a14410a4e] part of check-in [fb3bf68d0e] Fix a problem with auto-vacuum databases and the VACUUM command. Also add "pages read" and "pages written" statistics to the pager layer. (CVS 2183) (user: danielk1977 branch: trunk)
2004-11-24
01:16
[7b4dc9a942] part of check-in [0ad4ed87ce] Fix a memory leak in pager.c. (CVS 2151) (user: drh branch: trunk)
2004-11-23
09:06
[2907f0b0c9] part of check-in [557be3ff5b] Fix a bug involving balance_shallow() and the sqlite_master table. (CVS 2143) (user: danielk1977 branch: trunk)
2004-11-10
15:27
[ee88fcecb0] part of check-in [0747b55882] Ensure the test suite can run with either SQLITE_OMIT_AUTOVACUUM or SQLITE_DEFAULT_AUTOVACUUM=1 defined. (CVS 2087) (user: danielk1977 branch: trunk)
2004-11-08
09:26
[2653787b86] part of check-in [839ad771a6] Test auto-vacuum mode for crash-proofness. Also fix a bug related to the same. (CVS 2077) (user: danielk1977 branch: trunk)
07:13
[942cbb9d1d] part of check-in [d633569869] Auto-vacuum: Account for the page reserved for windows locking (PENDING_BYTE). (CVS 2076) (user: danielk1977 branch: trunk)
2004-11-06
12:26
[0523c8a122] part of check-in [081676e491] Auto-vacuum: Ensure pages to be removed by database truncation are in the journal file. Also fix an sqlite3pager_movepage() bug. (CVS 2074) (user: danielk1977 branch: trunk)
2004-11-05
16:37
[868c67e4ff] part of check-in [cfee7f4a00] Do not truncate a database file until after fsync() has been called on the journal. (CVS 2068) (user: danielk1977 branch: trunk)
2004-11-04
14:30
[a43e2a392b] part of check-in [1da361fae8] Support root-page allocation/deallocation in auto-vacuum databases. Still a few problems. (CVS 2054) (user: danielk1977 branch: trunk)
2004-11-03
08:44
[9ce238f954] part of check-in [719c1b7967] Auto-vacuum bug: Correctly manipulate page cache hash-table entries in sqlite3pager_movepage(). (CVS 2046) (user: danielk1977 branch: trunk)
2004-11-02
12:56
[6b00c0d5aa] part of check-in [d12481f09c] Code to auto-vacuum the database if all root pages happen to be in the right place. Not active by default and largely untested. (CVS 2037) (user: danielk1977 branch: trunk)
2004-10-31
02:22
[6e19f9a64a] part of check-in [be661acfa8] Insert #ifdefs that can optionally remove features at compiletime resulting in a database engine with a smaller footprint. (CVS 2034) (user: drh branch: trunk)
2004-10-22
16:22
[cc2e7fb3d7] part of check-in [0539c2d2b8] Fix alignment problems in btree and pager and allow page sizes that are not a multiple of 8. (CVS 2026) (user: drh branch: trunk)
2004-10-05
02:41
[dc0ffab994] part of check-in [81ff8107ad] Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions. (CVS 2000) (user: drh branch: trunk)
2004-10-02
20:38
[d3688828d3] part of check-in [c4697503d0] Fixes to the OsUnlock() interface. Correctly leave a SHARED lock behind when requested. Honor the error code that OsUnlock() returns. Ticket #913 and #938. (CVS 1997) (user: drh branch: trunk)
2004-10-01
02:00
[39e0ad16ff] part of check-in [8972c004dc] Use type i64 instead of off_t for file offsets since off_t is giving portability problems. Ticket #924. (CVS 1992) (user: drh branch: trunk)
2004-09-24
22:32
[705a61117f] part of check-in [eabc77c99b] Optimizations to vdbeaux.c and printf.c (CVS 1980) (user: drh branch: trunk)
2004-09-08
20:13
[db8f6cb807] part of check-in [39755d2166] More changes directed at getting things to work on 64-bit platforms. (CVS 1949) (user: drh branch: trunk)
2004-09-02
14:57
[ae06c85de0] part of check-in [d1b2915655] Transactions commit on the last sqlite3_step(), not on sqlite3_finalize(). This allows the sqlite3_step() to return SQLITE_BUSY if the commit is blocked by a lock. Ticket #885. (CVS 1928) (user: drh branch: trunk)
2004-08-30
16:52
[616563dc51] part of check-in [8f5b199e84] Better detection and handling of corrupt database files. (CVS 1922) (user: drh branch: trunk)
2004-08-21
19:20
[6ecf24602f] part of check-in [b6eb4bf8c7] Fix a pager bug that might have made multi-database commits non-atomic if a power failure occurred at just the wrong moment. (CVS 1900) (user: drh branch: trunk)
2004-08-19
13:29
[2698653a3b] part of check-in [25fe7a42ec] Add the SQLITE_BUSY_RESERVED_LOCK compile-time option. (CVS 1894) (user: drh branch: trunk)
2004-08-18
19:09
[f42404ba68] part of check-in [6afe467d14] Make sure the database file is correctly truncated after a ROLLBACK that occurs after a statement abort. (CVS 1893) (user: drh branch: trunk)
16:05
[6f36dae724] part of check-in [1cc0323f25] Better debug logging of the pager. (CVS 1892) (user: drh branch: trunk)
15:58
[4581ffaf7d] part of check-in [6b2b6b2dbd] Be more agressive about not creating or opening the TEMP database if there are no TEMP tables. (CVS 1891) (user: drh branch: trunk)
02:10
[4e3bbc44ae] part of check-in [5914a11caa] Avoid creating a TEMP database unless it is absolutely necessary. (CVS 1890) (user: drh branch: trunk)
2004-08-07
23:54
[37b2159056] part of check-in [d33771a303] Do not invoke the busy callback when trying to promote a lock from SHARED to RESERVED. This avoids a deadlock. (CVS 1879) (user: drh branch: trunk)
2004-07-22
15:02
[e0865a9afa] part of check-in [b0a3becd82] Fix bugs associated with the codec. (CVS 1846) (user: drh branch: trunk)
01:19
[1354e8f808] part of check-in [4cf6e9db75] Initial implementation of variable page sizes and the temp_store pragma. (CVS 1843) (user: drh branch: trunk)
2004-07-20
12:45
[53a310a753] part of check-in [522ff721cc] Add the '%ifdef' capability to lemon. Other minor changes. (CVS 1836) (user: drh branch: trunk)
2004-07-19
22:08
[3fb0fa47da] part of check-in [511ee63924] The OsFile under Unix records a pointer back to the pager. This is intended to be used for an externalized locking patch. (CVS 1821) (user: drh branch: trunk)
2004-06-30
11:54
[5f8cdc92ee] part of check-in [a98dd004c4] Coverage improvements for malloc and vdbemem.c (CVS 1781) (user: danielk1977 branch: trunk)
09:49
[7f30e72495] part of check-in [152e9940b9] Coverage tests for vacuum.c (CVS 1776) (user: danielk1977 branch: trunk)
2004-06-28
04:52
[c1d5212e7c] part of check-in [06e8e30b24] Fix some problems with multi-file transaction rollback. (CVS 1751) (user: danielk1977 branch: trunk)
01:16
[1156c264f3] part of check-in [81e4994045] A few more warning fixes. (CVS 1750) (user: danielk1977 branch: trunk)
2004-06-26
13:51
[6240557abe] part of check-in [3c8512bc54] Fix a problem where a file was not being closed after a malloc() failure. (CVS 1741) (user: danielk1977 branch: trunk)
08:38
[d9f34d9245] part of check-in [4e20720984] Remove the 'nMaster' argument from various pager and btree functions. (CVS 1737) (user: danielk1977 branch: trunk)
01:48
[e396917174] part of check-in [02bd3acd7e] Fix a bug in the new full-sync journal format. (CVS 1733) (user: danielk1977 branch: trunk)
2004-06-25
11:11
[e4c7e844d8] part of check-in [4905e74925] Add a checksum to the master journal name stored at the end of a journal file. (CVS 1692) (user: danielk1977 branch: trunk)
08:32
[65e1b2ed25] part of check-in [b68b4a4262] A few more comment changes. No code alterations. (CVS 1689) (user: danielk1977 branch: trunk)
07:21
[706e810f8c] part of check-in [084f3fffbd] Add a comment on the implementation of sqlite3OsLock(). No code changes. (CVS 1688) (user: danielk1977 branch: trunk)
06:23
[6e3539f1ca] part of check-in [197d00d6a6] Activate test cases for new journal format. (CVS 1687) (user: danielk1977 branch: trunk)
02:38
[e25c880b9b] part of check-in [504246a18d] Modifications to the journal format to make it more robust. (CVS 1686) (user: danielk1977 branch: trunk)
2004-06-23
10:43
[ec34fbae1a] part of check-in [41868d79ac] Test cases to verify recovery after a crash. (CVS 1675) (user: danielk1977 branch: trunk)
01:05
[42297421e9] part of check-in [46107da7ed] Handle corrupt journal file headers correctly. (CVS 1674) (user: danielk1977 branch: trunk)
2004-06-22
12:18
[5fac95a8fe] part of check-in [ecdb93d3c9] Improve the os_test.c module. (CVS 1657) (user: danielk1977 branch: trunk)
11:29
[d9d3f57731] part of check-in [d16b863849] Add os_test.c. Not activated yet. (CVS 1655) (user: danielk1977 branch: trunk)
2004-06-21
18:14
[f42526a134] part of check-in [afc398c2ca] Fix an uninitialized variable. The variable was harmless, but pedantic error checking in MSVC raised an exception on it. (CVS 1651) (user: drh branch: trunk)
2004-06-18
23:21
[d627c5e460] part of check-in [5f383c1ee1] MinGW/MSYS build fixes; ticket #765 (CVS 1625) (user: dougcurrie branch: trunk)
2004-06-16
12:00
[453099416c] part of check-in [6001c5e1ce] Trivial modifications to prevent compiler warnings. (CVS 1606) (user: danielk1977 branch: trunk)
10:39
[72b5ab4fcc] part of check-in [b739ef2a1b] Fix handling of a failed malloc() in various places (CVS 1605) (user: danielk1977 branch: trunk)
07:45
[48356cb434] part of check-in [98b48704a1] Fix two more memory leaks. (CVS 1603) (user: danielk1977 branch: trunk)
2004-06-15
11:40
[8e26112df0] part of check-in [e21a181376] Minor bugfixes and test case adjustments for version 2 test cases to work with version 3. (CVS 1598) (user: danielk1977 branch: trunk)
01:40
[bf81f3c810] part of check-in [5a81420277] Do not use the page containing locks for anything to avoid problems with the manditory file locking on windows. (CVS 1595) (user: drh branch: trunk)
2004-06-14
06:03
[d42af374b2] part of check-in [73cd0aabb2] Ensure the master journal directory is synced. Also, change the master journal format to store journal file names. (CVS 1583) (user: danielk1977 branch: trunk)
05:10
[feb44bd027] part of check-in [4649abcbfd] Update the file change counter just before each transaction is committed. (CVS 1582) (user: danielk1977 branch: trunk)
2004-06-12
01:43
[4a2d3c8711] part of check-in [4f1cfca5ca] Change prototype for busy callbacks to "int xBusy(void *, int);" (CVS 1573) (user: danielk1977 branch: trunk)
2004-06-10
23:35
[94ecf93860] part of check-in [0e420f72cd] Comment changes in pager.c. (CVS 1567) (user: drh branch: trunk)
05:59
[d852730901] part of check-in [71e98d0d08] Misc fixes for test cases failing due to the new locking model. (CVS 1561) (user: danielk1977 branch: trunk)
04:32
[778379c031] part of check-in [adb2bd6143] When in PAGER_RESERVED state, don't write to the main file when rolling back a statement transaction. (CVS 1560) (user: danielk1977 branch: trunk)
02:16
[88a7160c74] part of check-in [b8aaa3a29e] Change the collation sequence interface to allow collation sequences that use UTF-16 in non-native byte order to be registered. (CVS 1559) (user: danielk1977 branch: trunk)
01:30
[70a372bd83] part of check-in [28c3cc0880] Add the vdbe_listing and sql_trace pragmas used for debugging. (CVS 1558) (user: drh branch: trunk)
00:51
[d1202ce02f] part of check-in [3b78ffe0b5] Fix a buffer overrun in the atomic multifile commit logic of the pager. (CVS 1556) (user: drh branch: trunk)
2004-06-09
20:03
[f93d104b61] part of check-in [3674b25edc] Turn on the atomic multifile commit logic. It does not work right yet, but it has at least stopped failing asserts. (CVS 1550) (user: drh branch: trunk)
19:03
[5c37b973e8] part of check-in [a12bef4a08] Remove legacy journal formats. (CVS 1549) (user: drh branch: trunk)
17:37
[ee2e2fa715] part of check-in [dc0763455b] Fixes to the file locking. 109 tests are now failing. (CVS 1548) (user: drh branch: trunk)
14:17
[c483bef234] part of check-in [0ecbba78fc] Add the "lock_status" pragma - only available when SQLITE_DEBUG is defined. Used for testing only. (CVS 1547) (user: drh branch: trunk)
2004-06-07
16:27
[3fddd1e5b3] part of check-in [0c2d169cf3] More work on windows locking. Fix some problems with unix locking. There is still an assertion failure on windows locking in attach2.test. (CVS 1539) (user: drh branch: trunk)
2004-06-04
10:38
[944f6b0712] part of check-in [d2f69e5ef2] Defer the exclusive db lock until the pager cache is flushed to disk. 41 tests now fail. (CVS 1528) (user: danielk1977 branch: trunk)
06:22
[00fabe4237] part of check-in [ff70b6d2b6] Move the 'busy-callback' logic to the pager layer. (CVS 1527) (user: danielk1977 branch: trunk)
2004-06-03
16:08
[1619b6a033] part of check-in [d57e5252c8] Untested updates to support atomic multi-file transactions (CVS 1526) (user: danielk1977 branch: trunk)
2004-05-31
08:26
[048872f1cc] part of check-in [b8ed812c92] Replace OP_Begin, OP_Commit and OP_Rollback with OP_AutoCommit. (CVS 1500) (user: danielk1977 branch: trunk)
2004-05-14
01:58
[6ff6b90642] part of check-in [f63fb6dd4e] Changes to btree and pager in preparation for moving to run-time page size determination. (CVS 1374) (user: drh branch: trunk)
2004-05-12
13:30
[fa60e566b3] part of check-in [97de9f7cee] The pager now handles file ":memory:" complete in memory with no disk I/O. (CVS 1363) (user: drh branch: trunk)
2004-05-10
10:34
[43556f37b8] part of check-in [2242423e31] Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1338) (user: danielk1977 branch: trunk)
2004-05-08
20:07
[350f5cd153] part of check-in [e9f84ff3fe] More btree.c bug fixes. (CVS 1327) (user: drh branch: trunk)
08:23
[97a675f165] part of check-in [8af6474c49] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (user: danielk1977 branch: trunk)
2004-05-07
17:57
[d18d56247c] part of check-in [d394b2b217] The btree.c module compiles and links and passes some tests. Many tests still fail, though. (CVS 1321) (user: drh branch: trunk)
2004-04-26
14:10
[2e3af839e7] part of check-in [910067a200] Pager tests working. (CVS 1308) (user: drh branch: trunk)
2004-02-25
02:20
[b246986e5b] part of check-in [2773c1d384] Disable an assert which (as it turns out) is not always true. Ticket #615. (CVS 1269) (user: drh branch: trunk)
2004-02-11
09:46
[29ddad4dd4] part of check-in [f2bdccf4bb] Refactor the interface to the randomness generator. (CVS 1224) (user: drh branch: trunk)
02:18
[8b4803d322] part of check-in [5200e9edc5] Pass all (relevant) regression tests when using the codec. (CVS 1223) (user: drh branch: trunk)
2004-02-10
23:51
[3678afeb3f] part of check-in [be5122e99c] Adjustments to the codec in the pager. (CVS 1222) (user: drh branch: trunk)
01:54
[cde4fd5a47] part of check-in [4c7bf714b5] Allow SQLITE_PAGE_SIZE to be redefined on the compiler command-line. (CVS 1217) (user: drh branch: trunk)
2004-02-09
01:20
[71d17c231d] part of check-in [2f0c122cfb] Add an optional codec to the pager layer. (CVS 1214) (user: drh branch: trunk)
2004-02-08
18:07
[7258db4fb6] part of check-in [93ccd1b1d6] Perpare for the 2.8.12 release. (CVS 1212) (user: drh branch: trunk)
06:05
[f2be6a1f69] part of check-in [48832d35ed] Fix inaccuracies and add details to comments in the pager. Change the name of one function to make its purpose clearer. Ticket #599. (CVS 1209) (user: drh branch: trunk)
00:40
[7872537f9f] part of check-in [dc5be2c82b] Preliminary fix for ticket #599. More testing and analysis needed. (CVS 1208) (user: drh branch: trunk)
2004-01-07
02:52
[289328d8ef] part of check-in [4146f8cc3f] Add a typecast to work around a bug in the Metrowerks Code Warrior compiler. Ticket #553. (CVS 1161) (user: drh branch: trunk)
2003-12-17
23:57
[ca24fced1c] part of check-in [da00efb13f] Make sure the pagers in-memory cache states in sync with the disk file. Ticket #529. (CVS 1133) (user: drh branch: trunk)
2003-09-06
01:10
[62702dff51] part of check-in [912f47c72d] The beginnings of changes to support pre-compiled SQL. Mostly untested, though all regression tests to pass. (CVS 1093) (user: drh branch: trunk)
2003-08-26
11:41
[77e1a7de50] part of check-in [c95f347cac] Fix compiler warnings under OpenVMS. Ticket #357. (CVS 1088) (user: drh branch: trunk)
11:25
[48abfc7dae] part of check-in [da53369f0b] If the database filename is an empty string, open a temporary file to hold the database. Ticket #432. (CVS 1085) (user: drh branch: trunk)
2003-07-27
18:59
[a4fd3a61d6] part of check-in [09c10fe3c9] When creating a new journal file, open a (read-only) file descriptor on the directory containing the journal and sync that directory once to make sure that the journal filename entry gets into the directory. Ticket #410. (CVS 1066) (user: drh branch: trunk)
2003-07-07
10:47
[9512e789db] part of check-in [a49ee69e98] A proported fix for ticket #374. (CVS 1047) (user: drh branch: trunk)
2003-06-14
11:42
[6c50e8dc86] part of check-in [66ac7aea3d] Open the journal file for read-only when doing a playback. Ticket #351. (CVS 1019) (user: drh branch: trunk)
2003-06-04
16:24
[c4d007fc35] part of check-in [af6f2bdf59] Fix a bug in UPDATE OR REPLACE that was introduced by check-in (999). Also clean up some compiler warnings for VC++. (CVS 1005) (user: drh branch: trunk)
2003-04-25
15:37
[51fdfda63e] part of check-in [8d3e879349] Add tests to insure VACUUM works in the presence of I/O errors. Fix some problems that came to light by these tests. (CVS 935) (user: drh branch: trunk)
13:22
[18066f5057] part of check-in [caa960289f] Make VACUUM work even if multiple processes have the database open at once. (CVS 933) (user: drh branch: trunk)
2003-04-06
20:52
[df4c81350c] part of check-in [b123c165fd] Move the implementation of VACUUM into a separate source file. (CVS 901) (user: drh branch: trunk)
20:44
[53abd9df41] part of check-in [185d8dc8d0] Simplify the BTree interface by shortening names. Added two new methods for accessing the current filename and for changing the name of the database file. (CVS 900) (user: drh branch: trunk)
2003-03-19
03:14
[dd1dfa4d92] part of check-in [875da9eed9] Modifications to the VDBE to support more than one database file. (CVS 878) (user: drh branch: trunk)
2003-02-16
19:13
[47509f6b2d] part of check-in [d10adc1c57] Fix more bugs. The new rollback journal implementation now passes all regression tests under Linux. (CVS 867) (user: drh branch: trunk)
2003-02-15
23:09
[bffccf853a] part of check-in [3ef0ad8a4f] Fix the pager so that correct rollbacks occur when synchronous is turned off. This check-in also included unrelated documentation updates. (CVS 866) (user: drh branch: trunk)
2003-02-13
01:58
[a64f69216e] part of check-in [7c22aa3f81] Fix a bug in the rollback logic for the new journal format. (CVS 864) (user: drh branch: trunk)
2003-02-12
14:09
[f7658e5d07] part of check-in [792a9e157d] Added the new FULL option to the SYNCHRONOUS pragma. Still need to test it. (CVS 863) (user: drh branch: trunk)
02:10
[1748a01ed1] part of check-in [6c927dd36c] Fix a bug in the legacy journal format writing logic. (CVS 862) (user: drh branch: trunk)
2003-02-11
14:55
[4adf3cc6d0] part of check-in [8ec5632536] Modify the journal format to be more robust against garbage that might appear in the file after a power failure. The changes are mostly working but more testing is still required. This check-in is to checkpoint the changes so far. (CVS 861) (user: drh branch: trunk)
2003-01-29
22:58
[7ca152bb9f] part of check-in [af1e929946] Additional testing and bug fixing with the non-callback API. Updated the C/C++ interface document to describe the non-callback API. (CVS 855) (user: drh branch: trunk)
2003-01-25
15:43
[95f5c5c775] part of check-in [b6ea0da76a] Fix a bug in the rollback validation logic (code that only runs during debugging). The problem was introduced by check-in (835). (CVS 849) (user: drh branch: trunk)
2003-01-22
01:26
[82148bde7a] part of check-in [19221dee5f] Minor refinements to the pager. (CVS 844) (user: drh branch: trunk)
2003-01-21
02:39
[f35799e6c5] part of check-in [00f08fc0b5] In the pager, cache a pointer to the first page on the freelist that does not need to be synced. This makes a fetch of a page that is not in cache go a lot faster when the cache is full. This check-in also adds some performance instrumentation to the OS layer. (CVS 842) (user: drh branch: trunk)
2003-01-16
13:42
[081155624c] part of check-in [717523d375] Improvements to the pager to help large updates against a large database run faster. Also improved the testing of the pager rollback algorithms. (CVS 835) (user: drh branch: trunk)
2003-01-12
18:02
[5b81639b38] part of check-in [52d5007f64] Initial check-in of the code for the new sqlite_set_authorizer() API function. The code is mostly untested at this point. (CVS 827) (user: drh branch: trunk)
2003-01-11
13:30
[6874ea294c] part of check-in [86deb12d68] Remove the ColumnCount opcode, which had become a no-op. (CVS 821) (user: drh branch: trunk)
2003-01-07
14:46
[20ea93000c] part of check-in [2f89e9e696] Avoid calling truncate() and stat() on the checkpoint journal to improve the speed of a large number of UPDATEs within a transaction. (CVS 819) (user: drh branch: trunk)
2003-01-03
02:04
[e7d05fa23a] part of check-in [1ba41bc2af] Allow the rollback journal to be empty except for its header. Ticket #212. (CVS 809) (user: drh branch: trunk)
2003-01-02
14:43
[255c5d14ff] part of check-in [db745e87dc] Code optimizations to help the library run faster. (CVS 808) (user: drh branch: trunk)
2002-12-28
01:06
[ebc73e7c31] part of check-in [f3dc686e02] Fix an uninitialized variable in the pager. Tickets #208 and #206. Bug introduced by check-in (795). (CVS 804) (user: drh branch: trunk)
2002-12-07
21:45
[0cbbde8bc4] part of check-in [1c58b4fc03] Save the full pathname of the database file so that journalling still works even if the user changes working directories after opening the databae. Ticket #200. (CVS 798) (user: drh branch: trunk)
2002-12-02
04:25
[76a6e5a1d0] part of check-in [fa5c042585] Change to the pager to avoid opening journal files unnecessarily. This can sometimes results in a significant speed improvement. (CVS 791) (user: drh branch: trunk)
2002-12-01
02:00
[1ef5be147f] part of check-in [9864a1265b] Fixed large file support under Linux. I'm unable to test under Windows. Ticket #191. (CVS 790) (user: drh branch: trunk)
2002-11-11
01:04
[691571c468] part of check-in [745d66395d] Back out the changes in the pager that sorted pages prior to writing them to the database. Additional measurements showed no performance gains. (CVS 785) (user: drh branch: trunk)
2002-11-10
23:32
[27d9b94641] part of check-in [a6ef6657a4] Two optimizations to the pager: (1) Write dirty pages back to the database file in order and (2) Keep a separate list of in-memory pages that are in the checkpoint journal in order to speed a checkpoint commit. (CVS 783) (user: drh branch: trunk)
2002-11-09
00:33
[292853d086] part of check-in [a29d60ecc5] Try to better detect when the library is compiled for large file support (LFS) but the support is not available in the host OS kernel. (CVS 782) (user: drh branch: trunk)
2002-11-06
14:08
[7d581b201d] part of check-in [2008b56fe1] Add large file support to Windows. Change large file support for Unix so that it compiles automatically - without requiring special options on the compiler command line. (CVS 781) (user: drh branch: trunk)
2002-11-05
23:03
[baf50d8308] part of check-in [a3f67fe912] Add support for databases larger than 2GB under Unix. Must be compiled with -D_FILE_OFFSET_BITS=64 and -D_LARGEFILE_SOURCE in order to work with larger databases. (CVS 778) (user: drh branch: trunk)
2002-09-05
19:10
[592e5931fd] part of check-in [f4288520df] Rewind the checkpoint journal after each statement to avoid allowing the file to become too large. (CVS 744) (user: drh branch: trunk)
16:08
[b536534860] part of check-in [f5c2654768] Fix for ticket #146: Correctly handle reads of unused disk blocks at the end of the file. (CVS 743) (user: drh branch: trunk)
2002-08-13
00:01
[4b0169e91b] part of check-in [34c4149eea] Updates prior to release 2.6.3. (CVS 706) (user: drh branch: trunk)
2002-08-12
12:29
[ca54e21cad] part of check-in [2fb3fdcdf0] Fix for ticket #9 (again). The rollback journal files should now also be byte-order independent. (CVS 705) (user: drh branch: trunk)
2002-07-07
16:52
[b8415b02a2] part of check-in [f6e24d5ccb] More rollback problems: Fix two more errors introduced by checking (410) that can cause database corruption after a ROLLBACK. Also add new tests to make sure everything is working this time. (CVS 663) (user: drh branch: trunk)
2002-07-06
16:28
[103341600b] part of check-in [db178646a0] Fix for bug #94: Be sure to journal pages that are added to the freelist then removed from the freelist and reused during the same transaction. (CVS 660) (user: drh branch: trunk)
2002-06-25
14:43
[58ae9f569b] part of check-in [36fc0add66] Bug fix: When the database file grows in size during a transaction, make sure the last page of the file gets written to disk even if that page is on the free list and contains no data. Otherwise the disk file will be too small which can lead to database corruption in subsequent transactions. (CVS 643) (user: drh branch: trunk)
2002-05-30
12:27
[1e41053c94] part of check-in [7a24336d50] Once it is opened, leave the checkpoint journal file open for the duration of a transaction, rather than closing it and reopening it for each statement. (Ticket #53) (CVS 599) (user: drh branch: trunk)
2002-04-18
01:56
[ba5740104c] part of check-in [33da20b9c1] Fix for ticket #19: Do not call sqliteOsSync() if the only changes were changes to TEMP tables. (CVS 530) (user: drh branch: trunk)
2002-03-06
22:01
[f136f5ba82] part of check-in [161c0c5f5d] Added the default_cache_size and default_synchronous pragmas. Added additional tests for pragmas. Added a new speedtest script. (CVS 421) (user: drh branch: trunk)
2002-03-05
12:41
[e1419353e6] part of check-in [480eef1a3a] Change the pager locking mechanism so that we don't have to write page 1 to the journal and to the database unless it actually changes. (CVS 419) (user: drh branch: trunk)
01:11
[41af87908c] part of check-in [414da4af1f] Add the ability to turn of calls to fsync() using the "synchronous" pragma. Increased the default cache size from 100 to 2000 and made the "cache_size" pragma persistent. (CVS 418) (user: drh branch: trunk)
2002-03-02
20:41
[0aa358a378] part of check-in [cf1ebcfb74] Pager optimization: do not write or journal free pages. This results in a 2x performance gain for large INSERTs and a 5x performance gain for large DELETEs. (CVS 410) (user: drh branch: trunk)
2002-02-19
13:39
[9761c79ccb] part of check-in [c6e9048e66] Change the name of the sanity_check PRAGMA to "integrity_check" and make it available on all compiles. (CVS 381) (user: drh branch: trunk)
2002-02-14
12:50
[d261a3a0b4] part of check-in [08a68e098a] Fix an incorrect assert() in pager.c. (CVS 369) (user: drh branch: trunk)
2002-02-02
18:49
[4059bda97a] part of check-in [9be4d4c6f1] Get the ABORT conflict resolution algorithm working. (CVS 362) (user: drh branch: trunk)
15:01
[f7274d47d8] part of check-in [aaa53e113e] Checkpoint code added to the pager. Regression tests work but the new APIs have not been tested yet. (CVS 361) (user: drh branch: trunk)
2002-01-14
09:28
[1e80a3ba73] part of check-in [f3038d218c] Fix warning messages in VC++. Patches from nicolas352001. (CVS 347) (user: drh branch: trunk)
2002-01-06
17:07
[ad8a3574d8] part of check-in [9b0be4fcc1] Comment updates most. Also some small changes to the VDBE. (CVS 339) (user: drh branch: trunk)
2001-12-15
14:22
[dde0eb5bf9] part of check-in [e8595579a5] Comment and documentation changes. (CVS 331) (user: drh branch: trunk)
2001-12-14
15:09
[f39d99e933] part of check-in [b0d2188764] Fix a race condition in the locking code that would sometimes cause SQLITE_PROTOCOL or SQLITE_CORRUPT to be returned when SQLITE_BUSY should have been returned. (CVS 326) (user: drh branch: trunk)
2001-12-05
00:21
[16173a7b7a] part of check-in [585ed5ebf1] Bug fix: sqlite_exec() would sometimes return SQLITE_PROTOCOL when it should have returned SQLITE_BUSY. There was also a deadlock that the previous bug was masking. (CVS 322) (user: drh branch: trunk)
2001-11-22
00:01
[fd9fc86686] part of check-in [a9db1c12c5] Fix a bug in the locking protocol. (CVS 315) (user: drh branch: trunk)
2001-11-10
13:51
[442ea25d80] part of check-in [2d2ad264aa] Comment changes (CVS 308) (user: drh branch: trunk)
2001-10-22
02:58
[0bd0b4b693] part of check-in [f8328a5f11] More changes for 2.0.7. (CVS 293) (user: drh branch: trunk)
2001-10-18
12:34
[5e2877673e] part of check-in [22948fc685] Support for UTF-8 and ISO8859 characters in identifiers. Bug fix in the column name generator for selects (was coreing). (CVS 290) (user: drh branch: trunk)
2001-10-12
17:30
[e2e189a15e] part of check-in [0a7848b619] Fix an assertion failure when the disk fills up. Add tests for a full disk situation. (CVS 285) (user: drh branch: trunk)
2001-10-08
13:22
[3445bd7c18] part of check-in [9368c62e40] Support for temporary tables added. Still need more testing. (CVS 279) (user: drh branch: trunk)
2001-10-06
16:33
[592c16b06a] part of check-in [b63b3f3684] Adding table column query capability to support ODBC. (CVS 278) (user: drh branch: trunk)
2001-09-20
01:44
[0fe02b63a8] part of check-in [d2a1aac467] 2.0-Alpha-2 release (CVS 258) (user: drh branch: trunk)
2001-09-19
13:58
[a77c7fd3f3] part of check-in [82db5456c9] Add the OpenReadOnly() OS method to fix a bug in the pager. (CVS 257) (user: drh branch: trunk)
13:22
[28c8a64160] part of check-in [abff526d00] Trying to get the OS abstraction layer to work. (CVS 256) (user: drh branch: trunk)
2001-09-18
02:02
[c7db91e4e4] part of check-in [8f28a83aba] Bug fixes. Trying to make it go faster. (CVS 254) (user: drh branch: trunk)
2001-09-16
00:13
[3871a5d348] part of check-in [4e926efe2b] Disclaimed copyright. Preparing for release 2.0. (CVS 250) (user: drh branch: trunk)
2001-09-15
00:57
[048c20ac85] part of check-in [14474fa144] Everything is working on Linux. This is release 2.0-Alpha-1. (CVS 246) (user: drh branch: trunk)
2001-09-14
18:54
[bb0891d49b] part of check-in [5e3724603e] Added a PRAGMA statement. Took out the special comment parsing. (CVS 245) (user: drh branch: trunk)
16:42
[fc0d51b73e] part of check-in [7da856cd94] Bug fixes and speed improvements. Delete is still slow. (CVS 244) (user: drh branch: trunk)
03:24
[4f9e2b3955] part of check-in [e7b65e37fd] All tests now pass. But there are still issues. For example, inserts are way too slow. And additional tests are needed for new features. (CVS 243) (user: drh branch: trunk)
2001-09-13
14:46
[05a2177c99] part of check-in [a0a1e701ab] The BTree changes are now integrated and the whole thing compiles and links. I have not yet tried to run it, though. (CVS 239) (user: drh branch: trunk)
13:46
[1928e68b5c] part of check-in [6ecc8b20d4] The code is in place to replace GDBM with BTree. But I have not yet attempted to compile it. I am sure the code contains bugs. (CVS 238) (user: drh branch: trunk)
2001-07-02
17:51
[fbb1f1d8d2] part of check-in [a84fb078ba] BTree and pager are working pretty well now. (CVS 234) (user: drh branch: trunk)
2001-06-28
01:54
[3e864a3e6c] part of check-in [9cfeeb5896] Got a lot of BTree tests working. Still lots more needed. (CVS 230) (user: drh branch: trunk)
2001-06-24
20:39
[866d4d9a73] part of check-in [85f015c975] The first test file for BTree added. Simple insert and delete tests pass. There is still a lot of work to be done, though. (CVS 228) (user: drh branch: trunk)
2001-06-23
11:36
[d5cb53ac67] part of check-in [f4df666403] Fix a bug in pager.c introduced in the previous delta. (CVS 227) (user: drh branch: trunk)
2001-06-22
19:15
[30c6f10a3c] part of check-in [b31c49021c] The BTree code compiles and links now, but it does not work yet. (CVS 226) (user: drh branch: trunk)
2001-06-02
02:40
[5224dc4b7f] part of check-in [d07e0e80a0] continued work on btree (CVS 222) (user: drh branch: trunk)
2001-05-24
21:06
[debcf7b00e] part of check-in [18500cdcc1] Continued work on btree (CVS 219) (user: drh branch: trunk)
2001-05-21
13:45
[e45946aaf0] part of check-in [523d52dfa6] :-) (CVS 218) (user: drh branch: trunk)
2001-04-28
16:52
[4081e3e976] part of check-in [73a1ed6126] :-) (CVS 214) (user: drh branch: trunk)
2001-04-15
02:27
[cc49d7e22a] part of check-in [1f07abe46e] Working on the pager (CVS 212) (user: drh branch: trunk)
00:37
[52dc932c93] part of check-in [f82fa7070a] Pager is working, mostly. (CVS 211) (user: drh branch: trunk)
2001-04-14
16:38
[67227909b9] part of check-in [42c2f3fe68] Getting ready to redo the journal file format. (CVS 210) (user: drh branch: trunk)
2001-04-11
14:29
Added [0aa36ee403] part of check-in [555351dd19] :-) (CVS 208) (user: drh branch: trunk)