drh
6e5b37faef
After throwing an error to say that one cannot change into WAL mode within
...
a tranactions, do not then go and change into WAL mode.
FossilOrigin-Name: 56a17dae91600a3863903f8d654ed52a0f720caf
2010-05-06 16:06:38 +00:00
dan
d41a29a653
Further coverage tests.
...
FossilOrigin-Name: 98a9713e0030a36ea99a18a12a2e7685c6db72b3
2010-05-06 15:56:28 +00:00
shaneh
84aab39782
Update configure scripts for WAL support.
...
FossilOrigin-Name: 2edc5129f216abec9b13a0ad9b6640606caa9f72
2010-05-06 15:35:59 +00:00
dan
a861469a07
Add tests to cover a couple of branches in wal.c.
...
FossilOrigin-Name: 429f437fb776fc974a6adf791b729e25bea82fef
2010-05-06 14:42:34 +00:00
dan
c9e4665e7d
Unset a tcl variable before reusing it in wal.test.
...
FossilOrigin-Name: e83efb232fe8d30714f4c7cffeef80092aea4df7
2010-05-06 13:36:47 +00:00
dan
ff6dfc73fe
Add tests for some lock-contention cases.
...
FossilOrigin-Name: f0fcb9c9a67e2bf7bbedbedbc27791b605a21dd1
2010-05-06 12:15:48 +00:00
drh
e404de05c0
Remove the noop-mutex implementations of mutex_held() and mutex_notheld()
...
since they are both unreachable.
FossilOrigin-Name: 6767b62a9a063582889f5ceb42f95eab24c697da
2010-05-06 11:56:52 +00:00
drh
24e3971197
Add two text files containing pager design notes to the doc/ subfolder.
...
FossilOrigin-Name: ed817fc893e7162ae0ff4022591f7e9e3b81d622
2010-05-06 11:55:56 +00:00
dan
9a6b4e9adb
Add test cases to test the libraries handling of corrupt wal-index headers.
...
FossilOrigin-Name: 9465b267d420120c050bbe4f143ac824146a9e4a
2010-05-06 11:32:09 +00:00
dan
8f6097c244
Add tests for handling errors returned by xShm VFS methods.
...
FossilOrigin-Name: fbbcacb137e8f5246b88ad09331236aaa1900f60
2010-05-06 07:43:58 +00:00
drh
5def0843f1
Change the behavior of the sqlite3_wal_hook() callback. It should now return
...
SQLITE_OK or an error code and the error code is propagated back up the
stack. If a checkpoint is desired, the callback should invoke
sqlite3_wal_callback() itself.
FossilOrigin-Name: 1b14195e05fe5551992a39246ec3bcf6a33bbfac
2010-05-05 20:00:25 +00:00
drh
ccd13d1f80
Further simplifications to the SHM locking logic. Remove the SQLITE_SHM_QUERY
...
option. Unify the WRITE to READ and RECOVER to READ transitions.
FossilOrigin-Name: e9bfa6e4ce7d1edc6be8b9173ac3b6bfd180632a
2010-05-05 19:09:49 +00:00
dan
c7991bdf29
Test the handling of errors returned by the xShmXXX() APIs.
...
FossilOrigin-Name: 72663123d6be2b194cad7a6057d0f20dd0d9fe05
2010-05-05 19:04:59 +00:00
drh
5c10f77d52
Do not compare page sizes on source and destination of backup until
...
transactions are started and the page sizes are locked. This is a
fix to check-in [7bd44794c4].
FossilOrigin-Name: ec7157788b16936b4b6e4642107b3c86aa44df24
2010-05-05 18:46:44 +00:00
drh
4bc79def36
Simplifications to the SHM locking implementation in os_unix.c.
...
FossilOrigin-Name: 9de05bfb09e29bafdf5782263330fe8eefcfaba3
2010-05-05 18:20:07 +00:00
drh
3289c5efc8
Prohibit backup if the destination is using WAL and has a different page
...
size from the source.
FossilOrigin-Name: 7bd44794c482beee16c684712545275e2bf63dfa
2010-05-05 16:23:26 +00:00
dan
1018e90b1e
When closing a WAL database, if the exclusive lock on the database file is obtained and the database successfully checkpointed, delete the wal-index file from the file system.
...
FossilOrigin-Name: 2ac5d96c8e5831b392d83c86491d9ed8bc9c8db7
2010-05-05 15:33:05 +00:00
drh
16adb77623
Make sure the page size of the main database is fixed following a
...
failed VACUUM attempt. Otherwise, two consecutive failed VACUUM attempts
with attempted page_size changes on encrypted or WAL databases could
result in database corruption.
FossilOrigin-Name: 208e7d5d3a8915433dbf50c6cc6698ec6c8df944
2010-05-05 04:11:44 +00:00
drh
811bdbd206
Do not attempt to modify the page_size when running VACUUM on a WAL database.
...
FossilOrigin-Name: 58a1a59be89b33c6d5fa8b43571037d7d96625a1
2010-05-05 03:39:53 +00:00
drh
fc34ad291e
Get the previous mutex fix working with SQLITE_DEBUG and with the amalgamation.
...
FossilOrigin-Name: df19928f7ee94bca3989313ff16507c15d6efe2b
2010-05-05 00:22:21 +00:00
drh
92d7652379
When the in single-threaded mode, the sqlite3_mutex_alloc() interface
...
still returns a non-NULL value. The mutex doesn't do anything, but it
tests non-NULL. This way, extensions (or VFSes) that use sqlite3_mutex_alloc()
can tell the difference between an OOM error and mutexes being disabled.
FossilOrigin-Name: 451fd175758983c335aab449fdc4cb838156c4cb
2010-05-05 00:05:24 +00:00
drh
7721b23e0a
When sqlite3PagerPagecount() is called without any locks, always return
...
the physical file size, not the logical file size.
FossilOrigin-Name: 4016b422286587beda7323052d27821adb1fed73
2010-05-04 18:50:40 +00:00
drh
a8e654eb38
Be sure to release all wal-index locks before closing the wal-index.
...
FossilOrigin-Name: b15b67fa14ff77963f470678ff6188c63be8e079
2010-05-04 17:38:42 +00:00
drh
cd058ec4ef
Relax an over-zealous assert() in sqlite3WalUndo().
...
FossilOrigin-Name: 8f9d22d58c75ad7476c1eea8ba296347e30b7beb
2010-05-04 17:20:09 +00:00
drh
33bec22fb1
Take care not to invoke the xShmClose method of the VFS with a NULL
...
shared memory object.
FossilOrigin-Name: 1465d3842c52aa7471f63deb47fe5b256d4e01c2
2010-05-04 16:33:37 +00:00
dan
2cee6abf8e
Add a test case to verify that log files containing pages that are not a power-of-two bytes in size are handled correctly.
...
FossilOrigin-Name: c2bf693f933313991d85394009e79a7903037a18
2010-05-04 15:20:45 +00:00
dan
b6e099a973
Fix problems with recovering wal files that use a page-size other than the default.
...
FossilOrigin-Name: 1a391f3c55dc9d4266552fa26d2a9839c6bafce4
2010-05-04 14:47:39 +00:00
dan
ef37802545
Fix a typo in walfault.test.
...
FossilOrigin-Name: 232dbe8ecec16485be5c5995fdf7a0ed951c2097
2010-05-04 11:06:03 +00:00
dan
8d6ad1cc2c
Test that the correct number of padding frames are appended to the log file after committing a transaction in synchronous=FULL mode.
...
FossilOrigin-Name: a60104aa7e38e7d9f2ff2eae02687dc9c5dd5d77
2010-05-04 10:36:20 +00:00
drh
d0b2677b78
Unset some global TCL variables prior to use in test where prior tests can
...
have those same variables set to an array value.
FossilOrigin-Name: 49bef00e5cda600ceb964148bf745de4aff1ab62
2010-05-03 19:20:46 +00:00
drh
d5e6e4004b
Fix a bug in the computation of the current time for the alternative
...
CURRENT_TIMESTAMP functions used when SQLITE_OMIT_DATETIME is defined.
FossilOrigin-Name: e7ded46b5efabe521008d9043dd72bd1ca748316
2010-05-03 19:17:01 +00:00
drh
324e46d424
Documentation stubs for sqlite3_wal_autocheckpoint and sqlite3_wal_checkpoint.
...
FossilOrigin-Name: 313762427d96954667909887a797ea996dc6304a
2010-05-03 18:51:41 +00:00
drh
0dcb0a7d7b
Fix a bug in the xCurrentTime() method of the os_unix.c VFS.
...
FossilOrigin-Name: 551df11a5613e3edc6c5de44f0ac6abc2d0e6cdf
2010-05-03 18:22:52 +00:00
dan
5e9e482fe0
Add a test to simulate an OOM during log recovery to walfault.test.
...
FossilOrigin-Name: 7ed85e87dd206083310ba28afab4389885f61dac
2010-05-03 18:01:21 +00:00
drh
529b18706d
Clear global variable "seconds" before use in walthread.test.
...
FossilOrigin-Name: a35551a5305b5160b0eb511da7f8e6fb351ef271
2010-05-03 17:24:45 +00:00
dan
76ed3bc044
Fix a couple of errors in WAL code that can occur in an OOM situation.
...
FossilOrigin-Name: 9d3f3736be42ef8ab48b099d4712e08dfca97873
2010-05-03 17:18:24 +00:00
drh
4c846bb148
Update the crash-test VFS in test6.c to pass-through the shared-memory
...
methods to the real underlying VFS. This fixes the walcrash.test script.
FossilOrigin-Name: ea09ff37911376505e8262ee9841224995b696f2
2010-05-03 16:36:55 +00:00
drh
1fbe0f2a8f
Change the VFS definition so that all methods take a VFS object pointer as
...
their first parameter.
FossilOrigin-Name: 43b5b07f0d996d7ef7426346b1792e9ca898f487
2010-05-03 16:30:27 +00:00
dan
af0cfd366a
Have sqlite3_wal_checkpoint() handle a zero-length string in the same way as a NULL pointer. Fix "PRAGMA wal_checkpoint" so that it checkpoints all attached databases.
...
FossilOrigin-Name: 7fecd21f45b9ce773ffbcef6c84066474e8cd01c
2010-05-03 15:58:50 +00:00
drh
b7e8ea2015
Use VFS method xCurrentTimeInt64 instead of xCurrentTime when it is available.
...
Provide an implementation of xCurrentTimeInt64 for os_unix.c.
FossilOrigin-Name: ab77b3ae6da3370d8bc3b2c9c0edc723b69f5a95
2010-05-03 14:32:30 +00:00
drh
e8e1c9d50e
Merge the write-ahead-logging changes into the trunk.
...
FossilOrigin-Name: de9ae443cc8eebfb0692dcdac93bde9e4c54199a
2010-05-03 14:08:27 +00:00
dan
6fcff07f6a
If the sqlite3_wal_checkpoint() API is passed a NULL pointer in place of a database name, attempt to checkpoint all attached databases.
...
FossilOrigin-Name: 27a5c09ce8a35039d844d08cfe5698e8b438abfe
2010-05-03 14:05:43 +00:00
drh
b033d8b9dc
Make sure the mutex is held while calling sqlite3ApiExit() in
...
sqlite3_wal_checkpoint(). Other cleanup of WAL logic.
FossilOrigin-Name: 11a85b821abff1ecb7ec8c37bc7783be9fc4ea6d
2010-05-03 13:37:30 +00:00
dan
87c1fe1b69
Have sqlite3_wal_checkpoint() populate the database handle error message and error code (as returned by sqlite3_errmsg() and sqlite3_errcode()).
...
FossilOrigin-Name: ff234cf574c7ae384ab1ebc79b2171ef0541bc91
2010-05-03 12:14:15 +00:00
dan
5a299f9134
Add the "PRAGMA wal_autocheckpoint" command. Rename "PRAGMA checkpoint" to "PRAGMA wal_checkpoint".
...
FossilOrigin-Name: 714e5947264571386f966aa8fcdd5607b5832238
2010-05-03 11:05:08 +00:00
dan
11398e5e54
Merge two wal leaves.
...
FossilOrigin-Name: 23c0e6c3f333e878fe5a2ae5d61df0d765f437b4
2010-05-03 08:19:34 +00:00
dan
586b9c8a94
Add the sqlite3_wal_checkpoint() and sqlite3_wal_autocheckpoint() APIs.
...
FossilOrigin-Name: 9803196dec85e3aa4105cc477e9cfe98d370e486
2010-05-03 08:04:49 +00:00
drh
2d536e187f
Change the SHM interface so that it does not take the name of the shared
...
object but rather the name of the WAL file and derives its own name from
that. Remove the xShmDelete method from the VFS and replace it with a
delete flag on xShmClose.
FossilOrigin-Name: 94dea5f9c11a68564220cec76ac3fae2ba90e907
2010-05-01 20:17:30 +00:00
drh
f72a8751c9
Remove the xShmPush and xShmPull methods from the VFS.
...
FossilOrigin-Name: 69e07fdbde5054593de948b76dfac157cf5d4058
2010-05-01 18:23:08 +00:00
drh
bee6f4ebe2
Define an invariant to guarantee deadlock-free operation of SHM in os_unix.c
...
and check that invariant with assert() statements.
FossilOrigin-Name: 6af2dca75b8139134ea394c1d71aefc6523f02e9
2010-05-01 17:57:36 +00:00