drh
cbed604f52
In the pager, avoid checking for the illegal page number 0 except when creating
...
a new page.
FossilOrigin-Name: dee20ba982125ea98c280ad1571789af0f393903
2016-12-13 18:34:01 +00:00
drh
d5df3ff2cc
Further refinements to the virtual method implementation of
...
sqlite3PagerGet().
FossilOrigin-Name: 67df44464847b43f8c0b186157e31cc66c1e5796
2016-12-13 15:53:22 +00:00
drh
12e6f68279
Make the sqlite3PagerGet() interface into a virtual method, with different
...
implementations based on the current state of the pager. This gives a small
performance increase by avoiding unnecessary branches inside the various
methods.
FossilOrigin-Name: df5bb90d208e0633056389e97696d260e3830e8d
2016-12-13 14:32:47 +00:00
drh
5fa3d6ec3b
Faster operation for large in-memory databases.
...
FossilOrigin-Name: 9675518b33e8d40769daefb860dc748113f750b6
2016-12-12 16:08:44 +00:00
drh
6606586d81
Performance optimization in sqlite3PagerWrite().
...
FossilOrigin-Name: d4dff10a3d4edf8e1cc77c0a4f185d33f2c2e953
2016-12-12 11:05:15 +00:00
drh
a2ee589c46
Avoid unnecessary zeroing of fields in the MemPage object that are going
...
to be reinitialized before use anyhow. A smaller and faster binary results.
FossilOrigin-Name: 01ada3d1068476f90dcae02cb089001ea4bcc23d
2016-12-09 16:02:00 +00:00
dan
1158498dce
Add experimental sqlite3_snapshot_recover() API.
...
FossilOrigin-Name: 174a6076a8d7bebe5efebf55f3fdc5d87c589cc7
2016-11-18 20:49:43 +00:00
drh
65e1ba3fe7
Experimental changes for faster in-memory DB operation for large databases.
...
FossilOrigin-Name: 4fe94b0f1841180dfd8cac33838e335dc6a428bf
2016-11-17 21:52:08 +00:00
dan
4a5bad572a
Fix a problem with switching from wal to rollback mode when
...
SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE is configured.
FossilOrigin-Name: 46e0016207b8e7df2ae6c7491fd0f3c2926eed21
2016-11-11 17:08:51 +00:00
dan
e24452edef
Avoid using the "direct overflow read" optimization to read large blobs if the
...
pager layer has a wal file open - even if the database header indicates that
the db is not a wal database.
FossilOrigin-Name: b54c15f11796a75683eec4b502a22ccb87d621c6
2016-10-21 10:49:39 +00:00
dan
1480095ff5
Changes to support interrupting a checkpoint using sqlite3_interrupt().
...
FossilOrigin-Name: c88d36e251abec24aa7e37cf550e148904b9fd2d
2016-10-17 15:28:39 +00:00
dan
d0d49b9ca3
If SQLITE_ENABLE_ZIPVFS is defined, journal_mode=off is configured and a savepoint or statement rollback is attempted, move the pager into the error state to prevent the transaction from being committed. This makes it safe to use journal_mode=off with zipvfs under some conditions.
...
FossilOrigin-Name: 38d31e189e7c7899e14455f2c083aa676ce4d4c0
2016-09-01 09:35:20 +00:00
dan
7fb8990688
Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called.
...
FossilOrigin-Name: 8a5f41c7b1718507524adef1a2730e99cf53270a
2016-08-12 16:21:15 +00:00
dan
43c1ce390f
Undo commit [f250166bb]. It is required to handle IO and other errors that occur within a VACUUM of a Zipvfs database.
...
FossilOrigin-Name: ae72513af37cd806a6d94aaa7c47a740e119d3b1
2016-08-05 16:16:26 +00:00
drh
d20b2a4109
Remove the sqlite3PagerClearCache() routine, which does not accomplish anything
...
useful.
FossilOrigin-Name: f250166bb3c1b0c58e703b334825cf6210758fda
2016-05-20 18:09:01 +00:00
drh
a0f6b124ad
Remove the unused PGHDR_NEED_READ flag. Add invariant checking (during
...
SQLITE_DEBUG builds only) for the PgHdr object.
FossilOrigin-Name: 771c5411e9ebcad00fb4b97556b519488284b87b
2016-05-13 15:22:06 +00:00
drh
4bf7d21f56
Clarification of the pagerFlushOnCommit() logic.
...
FossilOrigin-Name: 3401d9dcdbec390564574e8d2972c944c204e025
2016-05-13 12:12:38 +00:00
drh
935c4d8484
Fix pager_end_transaction() to ensure that a ROLLBACK does not clobber
...
unwritten pages in a TEMP file pcache.
FossilOrigin-Name: 9495d33879221c1821331dc72c61a6a3d182f526
2016-05-13 11:50:00 +00:00
drh
a7a45973e9
Simplification of the sqlite3FaultSim() call inside of
...
sqlite3PagerCommitPhaseOne().
FossilOrigin-Name: 1b0f4cc362cda1dc175aa363ae4e612b7d1164c3
2016-05-12 19:05:35 +00:00
drh
d22f5099b5
Add an assert in pager.c to confirm that pPager->tempFile is always true
...
for in-memory databases.
FossilOrigin-Name: 3fd71092063bf1d30e03cf2497ea9c57b3ec82eb
2016-05-12 18:38:45 +00:00
drh
91ef8ad42c
For in-memory databases, it does not matter if pcache entries are marked
...
"clean" or "writable".
FossilOrigin-Name: 06c1e27ca868f247f8c27b03eb19aac004f28650
2016-05-12 12:08:48 +00:00
drh
42bee5f4d6
Remove an unnecessary call to sqlite3PcacheMakeClean() inside of the ROLLBACK
...
logic.
FossilOrigin-Name: 0dc50d9915cd88916229ca5c3834de82fa16f017
2016-05-12 12:01:20 +00:00
drh
72e6a39907
For in-memory databases, it does not matter if pcache entries are marked
...
"clean" or "writable".
FossilOrigin-Name: ad601c7962a60a11699cf31f1faee09b95d5c710
2016-05-11 23:54:14 +00:00
drh
a37e0cfb22
Do not reset the page cache when a rollback journal truncate fails, as doing
...
so can cause loss of information for an in-memory TEMP file.
FossilOrigin-Name: 345ce1c9f64f2a424663b4dfcbe4586d9df7bff6
2016-05-11 12:47:46 +00:00
drh
65c6420335
Always truncate, rather than persist, the rollback journal of a TEMP database.
...
FossilOrigin-Name: 42fb6f1e99a6c31889819a0302679d598dc0ab1b
2016-05-11 11:04:17 +00:00
drh
d12bc6022b
Fix a problem in sqlite3PagerMovepage() when working on a temp table for which
...
pages have been spilled.
FossilOrigin-Name: 20cf8811caf705b482be100baecb3ef72aee2d5a
2016-05-10 20:03:08 +00:00
dan
c88ae52d86
Disable the PagerDontWrite() optimization for temp tables. It can cause database corruption if a page passed to PagerDontWrite() is dirty at the start of a transaction that is subsequently rolled back.
...
FossilOrigin-Name: 6341ab2ffef298ca16b323358afbea4a4c1fb0e1
2016-05-04 11:28:03 +00:00
drh
ead01fd272
Add an sqlite3FaultSim() all to make it easier to simulate IO errors in
...
a VACUUM commit.
FossilOrigin-Name: 8bfde416c51f4e087275aebf652a73985515e810
2016-04-25 22:39:42 +00:00
drh
6c96358601
Remove an obsolete comment from the pager. No code changes.
...
FossilOrigin-Name: 36f97ca8874a03ac8699f44fe0da95b0be507cc7
2016-04-25 19:28:34 +00:00
drh
835f22deda
Fix some unreachable branches in the pager.
...
FossilOrigin-Name: 3ae44770fdecc40c8097f1de0b504f36585a2232
2016-04-25 19:20:56 +00:00
dan
2d36f065e2
Fix a problem with mixing temp-files and mmap-mode.
...
FossilOrigin-Name: c80c5c62b2e2c5e47e0839f8e2d5b6341ca4a249
2016-04-23 17:24:16 +00:00
dan
6572c16ae1
Fix some problems to do with temp-file databases and recovering from IO and SQLITE_FULL errors.
...
FossilOrigin-Name: 3d61da4a76af8c9c2a293df085f3ed5a7bb447df
2016-04-23 14:55:28 +00:00
drh
518aca114f
Merge updates from trunk.
...
FossilOrigin-Name: cc28106e5c196c0a9678fbbd06f6afd49271a8e8
2016-04-21 15:03:37 +00:00
drh
cdce61e133
When an error occurs while transitioning out of WAL mode, make sure the
...
locking state is not left at EXCLUSIVE.
FossilOrigin-Name: 3340f086510b08ce5b42a8781f1df51bf7c27701
2016-04-20 19:30:47 +00:00
dan
0f52455a35
On commit, flush dirty temp-file pages only if the file is already open and 25% or more of the cache is dirty.
...
FossilOrigin-Name: f6babf2920340f25815c0a3c58de1e902c2f5542
2016-04-13 16:52:11 +00:00
dan
199f56b984
Once a temporary database file has been opened, flush all dirty pages to disk when comitting a transaction.
...
FossilOrigin-Name: bbac71aa2aa2380d393cda3be64b0208b464b27e
2016-04-12 19:09:29 +00:00
dan
67330a1224
Fixes for OOM and IO error handling with temp file databases.
...
FossilOrigin-Name: 4eb06e843af60d5e533793618c6e0e9b7ef7a1a6
2016-04-11 18:07:47 +00:00
dan
9131ab9386
For a pager backed by a temp file, store the main journal in memory until it is at least sqlite3_config.nStmtSpill bytes in size. Prevent the backup API from being used to change the page-size of a temp file.
...
FossilOrigin-Name: 84c557010c211595d2ec80b62c63af1c7f4714bd
2016-04-06 18:20:51 +00:00
dan
7f8def285e
Fix a problem in test script lock.test. Fix minor issues in pager.c.
...
FossilOrigin-Name: 84de8813c3b4007e3c7c3a286ce13020f2065c7b
2016-04-06 16:27:50 +00:00
dan
d87efd7221
Add tests to this branch. Fix a problem with temporary databases in auto-vacuum mode.
...
FossilOrigin-Name: afe9bd9b4b5dc98dccf1bced80567515ab5c0117
2016-04-06 15:39:03 +00:00
dan
41113b6429
Defer opening the file used for the temp database (where CREATE TEMP TABLE tables are stored) until the database is too large to reside entirely within the cache. There are likely still problems on this branch.
...
FossilOrigin-Name: be5a549eba6cf8e29cb6b9824fd6d0db9d03ca7f
2016-04-05 21:07:58 +00:00
drh
ffbb02a361
Do not allow the use of WAL mode with nolock=1 because it does not work.
...
FossilOrigin-Name: 74f5d3b07f6e5e977858c73957c6f9337ae3ca3e
2016-03-11 23:07:30 +00:00
drh
33b104af08
Drop support for SQLITE_EXTRA_DURABLE. The new SQLITE_DEFAULT_SYNCHRONOUS
...
compile-time option is a more general replacement.
FossilOrigin-Name: f6d3156ba9af1da517dd77c1df03fa7869888463
2016-03-08 16:07:59 +00:00
drh
0dba3304f6
Fix comments on pager flag settings to include synchronous=EXTRA.
...
FossilOrigin-Name: 3a65a1fc0fd2408c6984153801ec5dcd5211c897
2016-03-08 13:56:02 +00:00
drh
8c71a98ce1
Add the SQLITE_CONFIG_STMTJRNL_SPILL option for sqlite3_config().
...
FossilOrigin-Name: b6c4202432dc96f8f1740f52d0bf872116357fcc
2016-03-07 17:37:37 +00:00
dan
6e76326d18
When using a temporary file for a statement journal, store the first 64KiB in memory. If the file grows larger than that, flush it to disk and free the memory. Hardcoding to 64KiB is just an experiment to check that the memjournal.c code works.
...
FossilOrigin-Name: 44b2dc18e200e87cf062cb8f1659727c53fa36e9
2016-02-29 20:18:21 +00:00
dan
5f37ed5121
Fix minor problems with new code in memjournal.c.
...
FossilOrigin-Name: 9fd3f7b9c93325a83cdbe7dc9ee312b22a9c2898
2016-02-29 20:00:13 +00:00
dan
2491de28f1
Extend the code in memjournal.c so that it subsumes the role of journal.c. And (untested) can flush journal or statement journal files to disk after they grow to a specified size.
...
FossilOrigin-Name: e0b0b4316531fc8afa74b4882d9c74a91030ec69
2016-02-27 20:14:55 +00:00
drh
b052958657
Remove code not needed now that synchronous=OFF database files no longer
...
trigger the use of a master journal.
FossilOrigin-Name: aa9f4c622af191edbeb6a535942944f8c91f5c37
2016-02-22 23:44:42 +00:00
mistachkin
fad3039c51
Enhance ability to debug out-of-memory errors.
...
FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
2016-02-13 23:43:46 +00:00