aboutsummaryrefslogtreecommitdiff
path: root/src/wal.c
Commit message (Collapse)AuthorAge
...
* Fixes for harmless compiler warnings.drh2019-04-13
| | | FossilOrigin-Name: c28c973ad6debd63f13e5d4d3da036f680baaec9d863eda039f2747db9f1cfd5
* Add a defense-in-depth NEVER() test to the WAL cleanup code.drh2019-04-03
| | | FossilOrigin-Name: 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f
* Fix a harmless compiler warning that arose from the ENABLE_CURSOR_HINTSdrh2018-09-12
| | | | | fix of check-in [0af18674ca5b34e67e] FossilOrigin-Name: f578e62ae6f6cc78d8281adab9fa93f3f58711879c2860bbe19f291d257dc0af
* If a call to sqlite3_snapshot_open() fails because the requested snapshot nodan2018-08-31
| | | | | longer exists, return SQLITE_ERROR_SNAPSHOT instead of SQLITE_BUSY_SNAPSHOT. FossilOrigin-Name: e07923128bb164efbafde29d49175b61f2ef44b2dfac5ae4ed61937945dfcf4c
* Try to identify the places in WAL code where thread-safety depends on thedrh2018-08-30
| | | | | | underlying architecture supporting atomic load and store of aligned 32-bit values. FossilOrigin-Name: 47d44be4a68d377d0049a12b2587dbbcc0870b469473e1098f7c0358fe8c7532
* Fix a problem causing spurious SQLITE_CORRUPT errors when using the snapshotdan2018-08-28
| | | | | API to read from old database snapshots. FossilOrigin-Name: 535155be584ad8c1836e6b1c62de836d9872056d39608c995221c928cb5b365d
* Allow sqlite3_snapshot_open() to be called to change the snapshot after a readdan2018-08-15
|\ | | | | | | | | transaction is already open on database. FossilOrigin-Name: 41399169954f9bef53c3fa89879f39823b80bd127f76cf60abbe24217878a571
| * Allow sqlite3_snapshot_open() to be called to change the snapshot after adan2018-08-06
| | | | | | | | | | read transaction is already open on database. FossilOrigin-Name: 051ac0152048ef52723196c26ca5f2629dafb782aec1c66fc30531bf54335043
* | Minor style improvements.mistachkin2018-08-08
|/ | | FossilOrigin-Name: 60bbca2b9a591800cd8e7b374e62d75b1df0e8fd2d2f71f9b4d5fd044da78be0
* Slightly smaller and faster code by encapsulating wal-index hash tabledrh2018-06-09
| | | | | | location information in a separate WalHashLoc object rather than passing around the various elements as separate variables. FossilOrigin-Name: 538a365b7a32ab7fa84f59d7556242cfb59b76d287b6417eb3a823197a354e8e
* Fix walIteratorInit() so that it always leaves the iterator as a NULL pointerdrh2018-03-05
| | | | | | if an OOM occurs. This fixes an assertion fault introduced by check-in [044b0b65e716bff]. FossilOrigin-Name: e5ce256aa1f7a8ae995b79c9da895827bee5d8d0724fc15413ff203dc9e2602d
* In a checkpoint, figure out if it is possible to checkpoint any frames at alldan2018-03-02
| | | | | before creating the wal-iterator. FossilOrigin-Name: 044b0b65e716bffeddedbd1b0360c4c332f6d2359167c1d327a5ff96539474cb
* Optimize the obscure case of running a checkpoint against a very large waldan2018-03-02
| | | | | file for which a large percentage of the frames have already been checkpointed. FossilOrigin-Name: 0f5057dffa9be1bccab04894709d25bf1f066c4b1aef50d67ee635d46d300a4d
* Remove an unreachable branch in the walIndexPage() logic.drh2018-02-21
| | | FossilOrigin-Name: 4e61a9731f5949dcf05c541106b56be16add04a7730613481fc8519d3e4f493b
* Small performance improvement in sqltie3WalFindFrame().drh2018-02-21
| | | FossilOrigin-Name: 52013cad0e6ce2d694f25e2984a76d438cef724f0e07c8bb9d3dce8a3caf4350
* Make the walIndexPage() routine about 3x faster by factoring out the seldomdrh2018-02-20
| | | | | used reallocation logic into a separate subroutine. FossilOrigin-Name: e2b107141cd97bd4ab240748a9ce43fc2ec950ea74610697a4a7a3d7a6441e6b
* Lock the wal file for all snapshot transactions, even if they would notdan2017-11-28
|\ | | | | | | | | | | | | | | otherwise require this, preventing checkpointers and writers from wrapping the wal file. This means that if one connection has an open snapshot transaction it is guaranteed that a second connection can open a transaction on the same snapshot. FossilOrigin-Name: b81a31495bd27c1d96f7df653da3502054240cb5acf66b860da7f0f9b422a524
| * Experimental change so that snapshot transactions always lock the wal file -dan2017-09-23
| | | | | | | | | | preventing writers or truncate-checkpointers from wrapping it. FossilOrigin-Name: d71eeaab9ecdeed772047498b781be1f0be0655af284b94cf676bb408ceea8b1
* | Improvement to a comment. No changes to code.drh2017-11-14
| | | | | | FossilOrigin-Name: 486949fc03706e0056439b52ce60931ea4ce0a65e391da7f6287fe13862de251
* | Remove some branches in walTryBeginRead() that were drh2017-11-13
| | | | | | | | | | | | | | | | added by check-in [ce5d13c2de] but became unreachable with the addition of logic in check-in [18b26843] that enabled read-only clients to parse the WAL file into a heap-memory WAL-index, thus guaranteeing that the WAL-index header is always available. FossilOrigin-Name: 9c6b38b9a96c11bdf9db4ea025720a4f49dcb723fa2e2776edc8453bce85c7e3
* | In wal.c: improved comments, new assert() and testcase() macros, anddrh2017-11-11
| | | | | | | | | | replace some magic numbers with appropriate symbolic constants. FossilOrigin-Name: 13ec8a77a47aa471af587459f4094da0d06674c5960f0d34777bcb3d38bc413b
* | Further comment improvements in wal.c. No code changes.drh2017-11-11
| | | | | | FossilOrigin-Name: 346388007de585083dc67ad865b91db7c7d7b78c10a06f8bb7c48767c326c47e
* | Improved comments and variable names in the read-only WAL logic.drh2017-11-10
| | | | | | FossilOrigin-Name: d3c25740eec9a2a41c29e6e488fcf6587c1fb821147a442c29439b25a92154a5
* | Extra comments on the sqlite3OsShmMap() call in walBeginUnlocked(). Nodrh2017-11-08
| | | | | | | | | | changes to code. FossilOrigin-Name: 033ee92bf4d5dc57f5cb8fd02d1154ae06f2d3261d214e7191a82c70c8ffebf7
* | Change the name of SQLITE_READONLY_CANTLOCK to SQLITE_READONLY_CANTINIT.drh2017-11-08
| | | | | | FossilOrigin-Name: 6d7f94faa7e6de62f82bc6cac019508a9c1ffd6fa1d14f52fa93e9c06afdd32f
* | Update an assert in wal.c.dan2017-11-07
| | | | | | FossilOrigin-Name: 94527b897bac66d100ca92161f18b6f0e0768dd77ebcb06e3fb106f0e0e380ee
* | Handle the race condition that may occur if another process connects and thendan2017-11-07
| | | | | | | | | | | | checkpoints and truncates the wal file while a readonly-shm client is building its heap-memory wal-index. FossilOrigin-Name: 5a6703fc3f2174b3e9a624c7272ae013b73c42d6c97ffa62b58553efdb54e3bc
* | Add further test cases for the new code on this branch. And a couple of fixes.dan2017-11-06
| | | | | | FossilOrigin-Name: 71af9acb227a91d9ad8798c9d0b12d6967e863d050f5cb1fddb45f25ee1f47db
* | Add further tests for the code added on this branch.dan2017-11-04
| | | | | | FossilOrigin-Name: a6716fcde38b28b8a03b40f9d16f78a57ec20f60cf391ff553692641cb7f0d3f
* | In cases where a readonly_shm client cannot take the DMS lock on the *-shmdan2017-11-04
| | | | | | | | | | | | file, have it parse the wal file and create a wal-index to access it in heap memory. FossilOrigin-Name: 18b268433d739486eac1b04947bd418655e4bc56e8dc63ffa558aa4552a32e30
* | Avoid locking shm-lock WAL_READ_LOCK(0) during recovery. Doing this allowsdan2017-11-02
| | | | | | | | | | | | recovery to proceed while a readonly_shm connection in unlocked mode has an ongoing read transaction. FossilOrigin-Name: 5190d84a296b7cf716ef43bf7b6d4d351ef1a4d650de37dc01a5ab333da7c05d
* | If a readonly_shm connection cannot map the *-shm file because no otherdan2017-11-01
| | | | | | | | | | | | process is holding the DMS lock, have it read from the database file only, ignoring any content in the wal file. FossilOrigin-Name: ce5d13c2de69b73378637d4f7e109714f7cd17bf1d1ad995e0be442d517ed1b3
* | Fix a minor comment typo. No changes to code.drh2017-10-31
| | | | | | FossilOrigin-Name: 5f79e6d9c3d44b0cc7cf805429006f7b29a69e8d863b58472172a56b29a7bb4e
* | Clarify some comments describing the WAL index file. No changes to code.drh2017-10-30
|/ | | FossilOrigin-Name: 3be3aad9ecbe33060cfa9c6059b9206ed221d1fd72a69c355a9387f9f4e075e7
* Update the mechanism used to keep track of what kind of syncing to do fordrh2017-08-25
| | | | | | WAL transaction commits and checkpoint operations. Use the checkpoint-style of syncing to sync the header of a new or restarted WAL file. FossilOrigin-Name: bf65dae8d4297c57ac63228ccf0100f9fabf2fb600438c9f2e10a29c4b118168
* Fix an incorrect hyperlink in a comment.drh2017-08-24
| | | FossilOrigin-Name: 25292b9a4eb5efc7db551da0b3c9cfd7e79da1594ee14729de44090e188c2b2a
* Enclose the sqlite3WalSnapshotRecover() routine withindrh2016-11-22
| | | FossilOrigin-Name: e7be3183eb25e0f9f04b9e251ff37fa5e50cc1a7
* Remove the requirement to open the wal file before sqlite3_snapshot_recover()dan2016-11-19
| | | | | is called. Also add some comments to new functions. FossilOrigin-Name: 28393c413cc4505b94411730e728583c5d4baaae
* Fix a problem causing sqlite3_snapshot_recover() to returndan2016-11-19
| | | | | SQLITE_IOERR_SHORT_READ. FossilOrigin-Name: 525f75fa9fd4a95acc3fb3b0a01dabe2be39b383
* Fix a bug in sqlite3_snapshot_recover() that could cause subsequent readdan2016-11-19
| | | | | transactions to use out-of-data cache entries. FossilOrigin-Name: 9abeb7980a34cec11a3420e14ad98a4ec0d9c599
* Add experimental sqlite3_snapshot_recover() API.dan2016-11-18
| | | FossilOrigin-Name: 174a6076a8d7bebe5efebf55f3fdc5d87c589cc7
* Experimental changes toward making snapshots serializable.drh2016-11-15
| | | FossilOrigin-Name: b6a81fa1fc1fb78a65894129851a4ec3986640de
* Fix a problem with switching from wal to rollback mode whendan2016-11-11
| | | | | SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE is configured. FossilOrigin-Name: 46e0016207b8e7df2ae6c7491fd0f3c2926eed21
* Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - fordan2016-10-31
| | | | | disabling SQLite's default checkpoint-on-close behaviour. FossilOrigin-Name: 093d2fc2288b75c15ccf877bfa0e622d3918a562
* Have wal file checkpoints exit early if the sqlite3_interrupt() API function ↵dan2016-08-12
| | | | | is called. FossilOrigin-Name: 8a5f41c7b1718507524adef1a2730e99cf53270a
* Fix an obscure problem with transactions written in "PRAGMA ↵dan2016-05-24
| | | | | synchronous=full" mode on systems that do not support POWERSAFE_OVERWRITE causing an xSync() call to be omitted if the last frame written by a transaction is aligned to a sector boundary. This means that if a power failure or OS crash occurs very soon after such a transaction is committed, it may be lost following system recovery. FossilOrigin-Name: 37de3eab67f12ae1ce5bc8d5e541c64fc6b1fd80
* Add the sqlite3_snapshot_cmp() API.dan2016-04-11
| | | FossilOrigin-Name: c698a21af740ca1019c3a771fb83e569cd6bf23e
* Add the SQLITE_NOMEM_BKPT macro to enhance the ability to debug OOM errors.drh2016-02-15
|\ | | | | | | | | Only effective with compiling with SQLITE_DEBUG. FossilOrigin-Name: 9b3454762d142113f5923d754ca6bd2edefbd362
| * Enhance ability to debug out-of-memory errors.mistachkin2016-02-13
| | | | | | FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
* | Make sure the codec is invoked when overwriting existing frames of thedrh2016-02-15
|/ | | | | WAL file. Yikes! FossilOrigin-Name: f694e60a79024967a3f4574e3928f0b28589d381