drh
fc24373999
Avoid exceeding array bounds when reading a corrupt database file in
...
autovacuum mode. Fixes a problem discovered by John Regehr and Peng Li
using a customized clang compiler.
FossilOrigin-Name: f7c525f5fc31e909721df2b1e66fc62dfb105718
2011-05-17 15:21:56 +00:00
dan
3a6d8aec2a
Have the ATTACH command do URI interpretation in the same way as sqlite3_open() and sqlite3_open_v2() do.
...
FossilOrigin-Name: 68240e75e87a54cde93352b0ec364d34365a8170
2011-04-23 15:54:54 +00:00
drh
93b4fc78cf
When searching a list of freelist trunk pages looking for a specific page
...
to allocate, avoid unnecessary journalling of the unchanged trunk pages towards
the start of the list.
FossilOrigin-Name: d03d63d77ed144ac2c02a0245c4b4b070b79c88e
2011-04-07 14:47:01 +00:00
dan
bb2b441867
Changes to support building with various SQLITE_OMIT_XXX options defined.
...
FossilOrigin-Name: 2039ed952a02bdcd4fc6d2e20572c4632084dcdb
2011-04-06 17:54:31 +00:00
drh
fcd71b6010
Suppress many harmless compiler warnings, mostly signed/unsigned comparisons
...
within asserts or unused parameters in extensions.
FossilOrigin-Name: 3eeb0ff78d04891b5fd1a3d99a9fb8cfbed77a81
2011-04-05 22:08:24 +00:00
drh
4fa7d7c0df
Fix typos in comments. No changes to code.
...
FossilOrigin-Name: 28c5f12e98655d5c6167b13e8a15085eca43dd5b
2011-04-03 02:41:00 +00:00
dan
60939d0ade
Fix a problem whereby following an IO error in CommitPhaseTwo() of a multi-file transaction the b-tree layer could be left in TRANS_WRITE state, causing problems later on.
...
FossilOrigin-Name: dbe569a099c2855480e35c0cc4d9332821ad80da
2011-03-29 15:40:55 +00:00
drh
d50ffc416f
Fix additional cases of possible signed integer overflow, especially with
...
regard to negation.
FossilOrigin-Name: 2d5800bd8cfc7d7f5578a71b1aeaa74b2ec4b372
2011-03-08 02:38:28 +00:00
drh
c126e63e4f
Remove dead code identified by the clang static analyzer.
...
FossilOrigin-Name: 01a79d5a7af48fb7e50291c0c7c6283d3fb359d0
2011-03-06 21:28:32 +00:00
dan
ecac670a8b
Do not report corruption if the the db size header field is greater than the file size on disk unless the two change-counter header fields are identical. Fix for ticket [89b8c9ac54].
...
FossilOrigin-Name: 00c4596f0b270120848ab8d06dcdec7813a9a315
2011-02-09 18:19:20 +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
41692e9d7c
Shave a few cycles so that performance is better than 3.7.4 in speed tests.
...
FossilOrigin-Name: e14649301138b6840e24a4bbd2cf5205c0f72409
2011-01-25 04:34:51 +00:00
drh
efd95a7aca
Do not raise an SQLITE_CORRUPT error in Recoverymode
...
if the database size in the header is larger than the physical file
size. This facilitates recovery of a database in which the database size
field has been corrupted.
FossilOrigin-Name: 114640d920e16c85de90b19d53c485135875de5b
2011-01-12 17:56:26 +00:00
drh
b0a7c9cd2f
Fix the build so that it once again works with SQLITE_OMIT_SHARED_CACHE
...
and SQLITE_OMIT_AUTOVACUUM.
FossilOrigin-Name: fabcb6b95e1d4059d1e6c6183f65846f6cbd5749
2010-12-06 21:09:59 +00:00
drh
27f9aba18c
Merge the checkpoint_fullfsync pragma and the superlock demonstration into
...
the checkpoint-v2 experimental branch.
FossilOrigin-Name: ebf74015f09fe241c1c6902dc8954f2b59ab41ec
2010-11-19 18:51:31 +00:00
drh
c97d84638e
Add the checkpoint_fullfsync pragma which enables F_FULLFSYNC on checkpoint
...
operations only, not during ordinary commit fsyncs.
FossilOrigin-Name: a069867301de3ca2e1753bd4d2e426d27365be4c
2010-11-19 18:23:35 +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
4e76cc3650
Updates to FTS4 to improve performance and make more accurate cost estimates for prefix terms.
...
FossilOrigin-Name: d0a450ce78e99f55c862f26f9332786660007a0a
2010-10-20 18:56:04 +00:00
drh
075ed30a9f
Avoid taking locks on unused database connections when committing a
...
read transaction.
FossilOrigin-Name: c0ee614fd988f445c4884a37f494479bdd669185
2010-10-14 01:17:30 +00:00
shaneh
bd2aaf9ab1
Fix some compiler warnings under MSVC.
...
FossilOrigin-Name: afdc82a99eba260aed8ae2cca4bcec629f384098
2010-09-01 02:38:21 +00:00
drh
d4187c716c
Provide hints to the btree layer during the creation of transient tables
...
when it is possible for those tables to use a hash rather than a binary tree.
No use is current made of those hints, though assert() statement verify
their accuracy.
FossilOrigin-Name: 4fead8e714c7e50a9d246467e62bc846ef6180a0
2010-08-30 22:15:45 +00:00
drh
75c014c321
Remove the sqlite3BtreeFactor() wrapper routine. All modules now call
...
sqlite3BtreeOpen() directly.
FossilOrigin-Name: 0900e35348f4b9bf327d6ae2884c4ddbb6345d8d
2010-08-30 15:02:28 +00:00
dan
f48c355b33
Fix for ticket [5e10420e8d].
...
FossilOrigin-Name: 255f1eefa373153942c67b18b22177933657911d
2010-08-23 15:41:24 +00:00
drh
5f77b2e0ea
Fix the ptrmapPageno() routine so that it works correctly for an input of 1.
...
FossilOrigin-Name: 699a9bf28377f43f58c509878cce60cb906dbf48
2010-08-21 15:09:37 +00:00
drh
6b47fcacb4
Remove a NEVER from balance_quick() that can occur in WAL mode on
...
a corrupt database file.
FossilOrigin-Name: b273891ab05a18b68a76c870ea3be9f1a56c40a9
2010-08-19 14:22:42 +00:00
drh
e22e03e210
Fix two asserts in the btree logic so that they work correctly even for
...
maximum-size index entries for 32K and 64K pages.
FossilOrigin-Name: e127192d106bd7e036caacf01bf7725eeaa85dbe
2010-08-18 21:19:03 +00:00
shaneh
1df2db7fd1
Fix some compiler warnings in the MSVC build.
...
FossilOrigin-Name: 1f5662b7db5d623c8d99c45a8d97a0aa4427593f
2010-08-18 02:28:48 +00:00
drh
43b18e1e55
Suppress harmless compiler warning.
...
FossilOrigin-Name: 3f8c068a41b01f59d7f5d56f3bced78587f4d26c
2010-08-17 19:40:08 +00:00
drh
9b78f79183
Adjustments for better 64K page size handling.
...
FossilOrigin-Name: faf1974e2de321bfefb68b81d702ae69771933ef
2010-08-14 21:21:24 +00:00
drh
8fb8b53728
Change sqlite3PagerPagecount() to return void, since the return value was
...
always SQLITE_OK and was never used.
FossilOrigin-Name: 7dd78eb7974ec7c40af3fcf2b125ca5bc0766b5c
2010-08-14 17:12:04 +00:00
drh
5d433ce2ab
Minor simplifications to btree.c in support of full-coverage testing.
...
FossilOrigin-Name: 364df6c7735447cc2187923918a35bf62d82decc
2010-08-14 16:02:52 +00:00
drh
b2eced5de2
Increase the maximum page size from 32k to 64k.
...
FossilOrigin-Name: 45362437d491fbe0f033a67b398f8ba68cbf1b3b
2010-08-12 02:41:12 +00:00
drh
b9b49bf36b
Do not read the database file size on a SAVEPOINT rollback any more since
...
after checkin [65b8636ac6e5] the in-header-size field is always valid.
FossilOrigin-Name: fbe70e1106bcc5086ceb9d8f39cc39baf3643092
2010-08-05 03:21:39 +00:00
dan
59257dc615
When opening a write-transaction on a database file that has been appended to or truncated by a pre-3.7.0 client, update the database-size field in the database header. Fix for [51ae9cad31].
...
FossilOrigin-Name: 65b8636ac6e5d3e4502d4f576ddf9350d5df3022
2010-08-04 11:34:31 +00:00
dan
a550f2decd
In shared-cache mode, do not allow one connection to checkpoint a database while a second connection is reading or writing the same shared-cache.
...
FossilOrigin-Name: e75b52d156905ce16bedb94f65c01a4640bdfa75
2010-08-02 10:47:05 +00:00
drh
b975598ea0
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and
...
all memory from sqlite3_malloc() is freed by sqlite3_free().
FossilOrigin-Name: ac1f37a647e9ed1c00a901d26d9956a86c40117a
2010-07-24 16:34:37 +00:00
dan
2411dea3ca
Change code in OP_Rewind to avoid a valgrind warning following an error in the btree layer. This change does not fix any bug, just a warning.
...
FossilOrigin-Name: 4f62dbcfc96855f69e71d163bfc051d9db08cca9
2010-07-03 05:56:09 +00:00
shaneh
5eba1f60fe
Fix some warnings when compiling under MSVC.
...
FossilOrigin-Name: 708338773919fa024abbba55180654beb60e6d84
2010-07-02 17:05:03 +00:00
dan
ba3cbf3d4b
Add coverage test cases. Have sqlite3_backup_step() transform SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning.
...
FossilOrigin-Name: 5e19bc360e098ec06a72f4a86254d8e62e93ea57
2010-06-30 04:29:03 +00:00
drh
b28e59bbbb
Bug fix: Only trust the database size number at offset 28 if the change
...
counter at offset 24 matches the version number counter at offset 92.
This prevents corruption in the case of two applications writing to the
database where one is an older version of SQLite and the other is a newer
version.
FossilOrigin-Name: f80c3f922a114e738613955a939db46cf0847038
2010-06-17 02:13:39 +00:00
dan
f9b7671066
If an attempt to get a read-lock on the WAL fails with SQLITE_BUSY_RECOVER, call the busy-handler at the btree level.
...
FossilOrigin-Name: ce64496509a213c08c9dedae2a7a456b393d22e5
2010-06-01 14:12:45 +00:00
dan
5cf53537a8
Support compile-time option SQLITE_OMIT_WAL, for building without WAL support.
...
FossilOrigin-Name: 9b230c43dfa112e3e1589f9775926807bd36b36e
2010-05-01 16:40:20 +00:00
drh
7ed91f2344
Refactor wal.c to use the VFS. This check-in compiles and links and works
...
ok as long as you leave WAL turned off, but WAL does not work.
FossilOrigin-Name: 62db5fa3b61be885b2d94e9b9ce3877b2c588350
2010-04-29 22:34:07 +00:00
dan
8b5444bfae
Fix a problem with identifying a corrupt database in WAL mode.
...
FossilOrigin-Name: c8658da44671e9c43c90ee4857bbe82c55d40f25
2010-04-27 14:37:47 +00:00
dan
ede6eb8d1d
Further tests and changes related to switching between WAL and rollback modes.
...
FossilOrigin-Name: 1236318477787a612f02cc98caf2931bd2e99d94
2010-04-22 06:27:04 +00:00
dan
b978002743
Tests for (and changes to) the code to switch between WAL and rollback modes.
...
FossilOrigin-Name: 9f4f933f2c6596064fcfc7fb5add87e8c5b57448
2010-04-21 18:37:57 +00:00
dan
a470aeb4ac
If, after obtaining a SHARED lock, there exists a *-wal file in the file-system, use WAL mode. This is necessary to recover from a crash that damages the first page of the database file.
...
FossilOrigin-Name: 33cabf271b8f4dda508a610bf59964273fe2cb84
2010-04-21 11:43:38 +00:00
dan
e04dc88be5
Use the read and write version fields of the database header to mark a database as operating in wal-mode.
...
FossilOrigin-Name: 96bef18c1411c3e0348295886f105e1646c46320
2010-04-20 18:53:15 +00:00
drh
d14133e3f4
When rolling back a savepoint to the beginning of the transaction, make sure
...
to initialize the database size in the btree layer correctly even if the
database size field of the header is zeroed.
FossilOrigin-Name: a3540c6acf2bb6bdd44c101b63f17ca85e6b68ed
2010-04-07 20:29:56 +00:00