drh
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
drh
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
drh
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
drh
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
drh
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
drh
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
dan
f60b7f36c1
Experimental fix for [a1fa75cbdd].
...
FossilOrigin-Name: 6492af76ea6585a1b377d69751af930c0ccfe688
2011-12-16 13:24:27 +00:00
drh
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
drh
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
drh
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
drh
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
drh
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
drh
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
drh
bdd0f3bc0e
Merge the latest trunk changes into the wal-readonly branch.
...
FossilOrigin-Name: 2c6b5a28e3f6b7cb96b944d0a254f3707885f1ce
2011-05-31 17:08:32 +00:00
drh
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
drh
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
dan
a96a399ec9
Add missing comments associated with readonly shm changes.
...
FossilOrigin-Name: 6a2ea52e6c09a570428161090c2f087c66f714ec
2011-05-11 17:36:17 +00:00
dan
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
dan
4edc6bf3ee
Add experimental support for read-only connections to WAL databases.
...
FossilOrigin-Name: bb59f9862da45d25fb51d7821130854828c91c98
2011-05-10 17:31:29 +00:00
drh
c126e63e4f
Remove dead code identified by the clang static analyzer.
...
FossilOrigin-Name: 01a79d5a7af48fb7e50291c0c7c6283d3fb359d0
2011-03-06 21:28:32 +00:00
drh
03c6967f34
An SQLITE_PROTOCOL error counts as a locking error for verification
...
purposes.
FossilOrigin-Name: e87d499a4f8a456111c1f96ca6da31d0810fb7c8
2011-02-19 23:18:12 +00:00
drh
c90e0811d8
Change a testcase() added by the previous checkin into an assert().
...
FossilOrigin-Name: 6f3dad32aa0e1e9ee374302c82bea9bd60d5854b
2011-02-19 17:02:44 +00:00
drh
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
drh
658d76c9f8
Changes to make WAL more robust against SQLITE_PROTOCOL errors.
...
FossilOrigin-Name: fd578a32f8e9f04957359e73f244a60f02afe08c
2011-02-19 15:22:14 +00:00
dan
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
dan
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
drh
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
drh
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
drh
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
dan
f2b8dd588d
Fixes for SQLITE_BUSY handling in blocking checkpoint code.
...
FossilOrigin-Name: 4c663a4dcc77e00558edd94f58410605b95db33a
2010-11-18 19:28:01 +00:00
dan
cdc1f049bf
Modify the interface to the blocking wal-checkpoint functionality.
...
FossilOrigin-Name: 72787c010c8944e8fcf9c98aa4482f129142d8e9
2010-11-18 12:11:05 +00:00
dan
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
dan
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
drh
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
shaneh
bd2aaf9ab1
Fix some compiler warnings under MSVC.
...
FossilOrigin-Name: afdc82a99eba260aed8ae2cca4bcec629f384098
2010-09-01 02:38:21 +00:00
shaneh
1df2db7fd1
Fix some compiler warnings in the MSVC build.
...
FossilOrigin-Name: 1f5662b7db5d623c8d99c45a8d97a0aa4427593f
2010-08-18 02:28:48 +00:00
dan
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
drh
6cef0cf7a9
Fix a typo in a comment in wal.c. No code changes.
...
FossilOrigin-Name: d854a3d41c68f785c909c159cd9ca2154c64001a
2010-08-16 16:31:43 +00:00
drh
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
drh
9b78f79183
Adjustments for better 64K page size handling.
...
FossilOrigin-Name: faf1974e2de321bfefb68b81d702ae69771933ef
2010-08-14 21:21:24 +00:00
drh
b2eced5de2
Increase the maximum page size from 32k to 64k.
...
FossilOrigin-Name: 45362437d491fbe0f033a67b398f8ba68cbf1b3b
2010-08-12 02:41:12 +00:00
dan
007820d65d
Fix a problem causing the return code of an xSync call to be ignored in wal.c.
...
FossilOrigin-Name: f1b2b5f9c3a5561ea6108283ae08404106c3f8bc
2010-08-09 07:51:40 +00:00
dan
7a76197f40
In WAL mode, ignore any error returned by an xFileControl(FCNTL_SIZE_HINT) call. This matches the behaviour in rollback mode.
...
FossilOrigin-Name: 158a309737bd4cdc033cd504a6d0cc43c15b6e17
2010-08-09 07:07:37 +00:00
dan
73d66fdb22
Fix minor problems and update comments in pager.c.
...
FossilOrigin-Name: 92e456374b052aceff356d10317b5b94fcdeaa5c
2010-08-07 16:17:48 +00:00
dan
763afe62e1
Incremental checkin on pager state refactoring.
...
FossilOrigin-Name: 0a636798bdb6961a47327091715b254f79add823
2010-08-03 06:42:39 +00:00
dan
502019c8bb
Support FCNTL_CHUNK_SIZE on windows too.
...
FossilOrigin-Name: a038688c991435967b935946c2283707820bb5da
2010-07-28 14:26:17 +00:00
dan
1e5de5a13d
Changes to wal.c so that SQLite can read even if the WAL file is opened read-only, provided the wal-index (shm file) is opened read/write.
...
FossilOrigin-Name: 932d19da73c9673cdd4cc01289b17761c23d23cb
2010-07-15 18:20:53 +00:00
dan
7d4514a4e1
Handle the case where xShmMap returns SQLITE_BUSY.
...
FossilOrigin-Name: 75f5354876c4300a8e53fe551dc837dd383d1e38
2010-07-15 17:54:14 +00:00
dan
50833e32c1
Test the libaries response to read-only or unreadable database, WAL and wal-index files. If a WAL file cannot be opened in read/write mode, return SQLITE_CANTOPEN to the caller.
...
FossilOrigin-Name: 45bb84c6283d803fc29077fdc2d06fa50ec06a59
2010-07-14 16:37:17 +00:00
dan
ddb0ac4b9f
On unix, try to create the *-wal and *-shm files with the same permissions as the associated database file.
...
FossilOrigin-Name: e5d180eed245437b61bfb257ee01e2571c93afe7
2010-07-14 14:48:58 +00:00