20e226d979
Tweaks to improve testability.
...
FossilOrigin-Name: e3a929e43180f41095cc2cd00c6b0781856a4474
2012-01-01 13:58:53 +00:00
4e5e108e83
Avoid excess syncs when padding a transaction in a WAL.
...
FossilOrigin-Name: 1f24ae716df6232de768e245ea990049deee3c22
2011-12-23 13:32:07 +00:00
cc8d10a0fd
Merge the POWERSAFE_OVERWRITE features and the use of statvfs() from the
...
statvfs branch into trunk.
FossilOrigin-Name: 2370d70eb51d2259aaa8073d861ab79d6637cbd9
2011-12-23 02:07:10 +00:00
cb15f35f3b
Change the name ZERO_DAMAGE to the more descriptive POWERSAFE_OVERWRITE.
...
The query parameter used to control this device characteristic is now "psow".
FossilOrigin-Name: 6191c5e45175f5c6040e891843b0725a929d6dd7
2011-12-23 01:04:17 +00:00
3b5b351b65
Remove a redundant assignment operator.
...
FossilOrigin-Name: 19a6852a1e5905b35bc69b309951c5ec8ecd0bef
2011-12-22 01:46:04 +00:00
f694aa6454
Remove the code that tries to detect OOO header writes on a WAL recovery.
...
The code is made obsolete by syncing the WAL header.
FossilOrigin-Name: 7ac713a14e24c48651c2a97acc9839850fa7f3c3
2011-12-20 22:18:51 +00:00
d992b150c7
Refactor the sqlite3WalFrames() routine for clarity of presentation.
...
Do the padded transaction sync as the write pointer crosses the final
sector boundary instead of at the end, for efficiency. Always sync
the WAL header immediately after it is written.
FossilOrigin-Name: 92c73b421b6242b09247dfb759777a531a107523
2011-12-20 20:13:25 +00:00
4120994fdf
Assert that the isCommit parameter to sqlite3WalFrames() is zero if and
...
only if the nTruncate parameter is zero.
FossilOrigin-Name: 979daf92e09305665d943e197b93b81139197c5b
2011-12-20 13:13:09 +00:00
374f4a0447
For improved clarity of presentation,
...
refactor some of the code associated with ZERO_DAMAGE and sector-size.
FossilOrigin-Name: 1dde96c9ee88af1c4e37c2e65acb7c0fe6a20e2a
2011-12-17 20:02:11 +00:00
8bbaa89d8d
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().
FossilOrigin-Name: a0be6ea464695fdf1eaf2b7cf0652778617814f2
2011-12-17 19:49:02 +00:00
fe6163d7cf
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]
FossilOrigin-Name: 44ca4d123385d759c11919865525c998c2e35bdb
2011-12-17 13:45:28 +00:00
d2980310d0
Make sure the Salt-1 value in the WAL file is sequentially numbered at
...
each checkpoint, as it says it should be in the documentation.
FossilOrigin-Name: 7b63b11b93396079131686abb36c4221354fa50e
2011-12-17 01:31:44 +00:00
4eb02a4556
Enhance the WAL header sync so that it honors the various synchronous
...
pragmas, settings, and device characteristics.
FossilOrigin-Name: 9799241f7de952c4d1ea8bf6508b577d2b57a370
2011-12-16 21:26:26 +00:00
88f975a7a4
Proposed changes that ensure that the WAL header is written prior to the
...
first commit mark.
FossilOrigin-Name: 91d0437c0702904d27f0ef7b1b52d0797efe1826
2011-12-16 19:34:36 +00:00
eed4250598
Merge the fix for [a1fa75cbdd02] from the experimental branch. Also
...
fix the persistent-wal mode feature of truncating the WAL on close so that
it always truncates the WAL to zero bytes.
FossilOrigin-Name: 09ccc4a1be7ba81890f10aac6623dd90dab4f990
2011-12-16 15:38:52 +00:00
f60b7f36c1
Experimental fix for [a1fa75cbdd].
...
FossilOrigin-Name: 6492af76ea6585a1b377d69751af930c0ccfe688
2011-12-16 13:24:27 +00:00
8dd4afadd8
In persistent WAL mode, truncate the WAL file to the size specified by the
...
journal_size_limit pragma when disconnecting from the WAL.
FossilOrigin-Name: 9687b305c2320109a8649612181eecd2e0da7c7b
2011-12-08 19:50:32 +00:00
d515660523
Remove a couple of incorrect assert statements so that the test suite will
...
run with -DSQLITE_DEFAULT_CACHE_SIZE=0.
FossilOrigin-Name: 87614b62ace530761e0e1170ec5840b212735ec6
2011-11-12 16:46:55 +00:00
b07028f71c
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.
FossilOrigin-Name: 60fee9574b0125705787e33c16f116cf188c8323
2011-10-14 21:49:18 +00:00
f0b190d94c
Prototype change for a new sqlite3_file_control() that will cause the
...
-wal and -shm files to persist after the last database connection closes.
FossilOrigin-Name: e34c553bf04761e86f3bd72f91439c05886caa5c
2011-07-26 16:03:07 +00:00
5bf3934652
Fix a faulty assert() in the WAL-mode logic for read-only shared memory.
...
FossilOrigin-Name: a13cfe616284f4ee86f0406e7b8fe8f9ba6e6990
2011-06-02 17:24:49 +00:00
66dfec8b7a
Simplify the wal-readonly branch so that it does not require changes to
...
anything other than os_unix.c and wal.c and a couple of new error codes.
FossilOrigin-Name: d6b4709de4d1f8af001f58938247f00a652a616e
2011-06-01 20:01:49 +00:00
bdd0f3bc0e
Merge the latest trunk changes into the wal-readonly branch.
...
FossilOrigin-Name: 2c6b5a28e3f6b7cb96b944d0a254f3707885f1ce
2011-05-31 17:08:32 +00:00
ef05c39d12
Ignore malloc failures within the WAL file truncation attempt for
...
journal_size_limit.
FossilOrigin-Name: dd19105aa9521ffc0edcf16b84c064d5ebad55d7
2011-05-25 20:25:10 +00:00
85a8375580
Enhance WAL mode so that the WAL file honors the journal size limit set
...
by PRAGMA journal_size_limit.
FossilOrigin-Name: db7e500f69faf1906a84991ba67d26a195f02ae5
2011-05-16 21:00:27 +00:00
a96a399ec9
Add missing comments associated with readonly shm changes.
...
FossilOrigin-Name: 6a2ea52e6c09a570428161090c2f087c66f714ec
2011-05-11 17:36:17 +00:00
b6d2f9c5ef
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).
...
FossilOrigin-Name: 671ba5fc59f7a958e5a4138d2425b1173a442ad7
2011-05-11 14:57:33 +00:00
4edc6bf3ee
Add experimental support for read-only connections to WAL databases.
...
FossilOrigin-Name: bb59f9862da45d25fb51d7821130854828c91c98
2011-05-10 17:31:29 +00:00
c126e63e4f
Remove dead code identified by the clang static analyzer.
...
FossilOrigin-Name: 01a79d5a7af48fb7e50291c0c7c6283d3fb359d0
2011-03-06 21:28:32 +00:00
03c6967f34
An SQLITE_PROTOCOL error counts as a locking error for verification
...
purposes.
FossilOrigin-Name: e87d499a4f8a456111c1f96ca6da31d0810fb7c8
2011-02-19 23:18:12 +00:00
c90e0811d8
Change a testcase() added by the previous checkin into an assert().
...
FossilOrigin-Name: 6f3dad32aa0e1e9ee374302c82bea9bd60d5854b
2011-02-19 17:02:44 +00:00
ab1cc7462f
Add testcase macros to verify that all return values from
...
walTryBeginRead() are tested.
FossilOrigin-Name: 262b6fca0b7a251c02604c684a9f7e7a1434d630
2011-02-19 16:51:45 +00:00
658d76c9f8
Changes to make WAL more robust against SQLITE_PROTOCOL errors.
...
FossilOrigin-Name: fd578a32f8e9f04957359e73f244a60f02afe08c
2011-02-19 15:22:14 +00:00
9c5e3680df
Change blocking-checkpoint tests so that they run once using "PRAGMA wal_checkpoint" and once using calls to sqlite3_wal_checkpoint_v2(). Also fix edge cases surrounding the output variables set by wal_checkpoint_v2().
...
FossilOrigin-Name: 5a4b6652cf3780ffed6fe0fe669e8090b0b71e81
2011-02-07 15:12:12 +00:00
d42892ebaf
Fix minor problems with the output of "PRAGMA wal_checkpoint". In both code and tests.
...
FossilOrigin-Name: aef61036b31963e4c3ff4e8acf8c1734dc9394af
2011-02-02 19:17:39 +00:00
87fa53ee8d
Merge in the blocking-checkpoint enhancement, including the new
...
sqlite3_wal_checkpoint_v2() interface and the
PRAGMA wal_checkpoint(full) statement.
FossilOrigin-Name: bac7342c368a7c4f5f2878e08d9581dcbf57dd58
2011-02-02 16:34:08 +00:00
7d20844542
Make wal_checkpoint a no-op if a prior checkpoint has already copied all
...
WAL content into the database. This prevents a concurrent write to the
database from resetting the wal-index out from under the WalIterator of
the checkpoint as it is initializing.
FossilOrigin-Name: cf86affcb7d3089496e9849cbf43a211097e4f64
2010-12-16 02:06:29 +00:00
d9c9b78e6c
Enhanced comments in wal.c and declare some procedure parameters "const".
...
No changes to the generated code.
FossilOrigin-Name: d0e4375b8a784d4e4ae66caababac919edd61883
2010-12-15 21:02:06 +00:00
f2b8dd588d
Fixes for SQLITE_BUSY handling in blocking checkpoint code.
...
FossilOrigin-Name: 4c663a4dcc77e00558edd94f58410605b95db33a
2010-11-18 19:28:01 +00:00
cdc1f049bf
Modify the interface to the blocking wal-checkpoint functionality.
...
FossilOrigin-Name: 72787c010c8944e8fcf9c98aa4482f129142d8e9
2010-11-18 12:11:05 +00:00
a58f26f93f
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.
...
FossilOrigin-Name: 7e3fc2c833a5baa08820c499867b6902bdc2ed5a
2010-11-16 18:56:51 +00:00
8c40800439
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.
...
FossilOrigin-Name: 8dd5c69198619866923c6053b71899c1fb8c4c67
2010-11-01 17:38:24 +00:00
4533cd052d
If walLockExclusive() fails for reasons other than SQLITE_BUSY inside of
...
walRestartLog() then propagate that error back up to the application.
FossilOrigin-Name: 04dcba6b3379d2168609950ed919c8f743705333
2010-10-05 15:41:05 +00:00
bd2aaf9ab1
Fix some compiler warnings under MSVC.
...
FossilOrigin-Name: afdc82a99eba260aed8ae2cca4bcec629f384098
2010-09-01 02:38:21 +00:00
1df2db7fd1
Fix some compiler warnings in the MSVC build.
...
FossilOrigin-Name: 1f5662b7db5d623c8d99c45a8d97a0aa4427593f
2010-08-18 02:28:48 +00:00
eb8763d7b3
Invoke sqlite3_log() whenever one or more frames are recovered from a WAL file.
...
FossilOrigin-Name: e05089aaefe02ec59a1923812349471a78075d29
2010-08-17 14:52:22 +00:00
6cef0cf7a9
Fix a typo in a comment in wal.c. No code changes.
...
FossilOrigin-Name: d854a3d41c68f785c909c159cd9ca2154c64001a
2010-08-16 16:31:43 +00:00
7e9e70b170
Add ALWAYS() macros in wal.c to cover branches that are no longer reachable
...
following the pager refactoring.
FossilOrigin-Name: 24f24c927c77bb3bb4d26a23dd5d94f964db8033
2010-08-16 14:17:59 +00:00
9b78f79183
Adjustments for better 64K page size handling.
...
FossilOrigin-Name: faf1974e2de321bfefb68b81d702ae69771933ef
2010-08-14 21:21:24 +00:00
b2eced5de2
Increase the maximum page size from 32k to 64k.
...
FossilOrigin-Name: 45362437d491fbe0f033a67b398f8ba68cbf1b3b
2010-08-12 02:41:12 +00:00