dan
5b068f8632
Fix a problem when opening a write-transaction while there exist read-only b-tree cursors in mmap mode.
...
FossilOrigin-Name: 32e0bbb73609ac3ad096a60f1de3095bc79fb0cc
2013-03-21 15:57:32 +00:00
dan
5d8a137218
Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size".
...
FossilOrigin-Name: 6183f1bd86ceed76d22d9762f3d7eb33262c62d1
2013-03-19 19:28:06 +00:00
dan
11dcd11913
Allow read-only cursors to use mmap pages even if there is an open write transaction.
...
FossilOrigin-Name: b387e2f9d24dccac1fd040e309f6fc7ec1cfffba
2013-03-15 18:29:18 +00:00
dan
b2d3de3bf4
Use mmap() to read from the database file in rollback mode. This branch is unix only for now.
...
FossilOrigin-Name: 6f21d9cbf5d457e63a7282015a89ae785526cf6d
2013-03-14 18:34:37 +00:00
dan
09ff9e1664
Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined.
...
FossilOrigin-Name: 938b91e8552516772060d4e55e2f79cca4c13e27
2013-03-11 11:49:03 +00:00
dan
e1df4e31ec
Fix a bug in the recent incremental-vacuum related changes.
...
FossilOrigin-Name: 717863fca6d58828bf9321bc8b169e385ad4263f
2013-03-05 11:27:04 +00:00
drh
82e647d7c3
Update comments on the free-page allocator to accurately reflect the
...
latest implementation. Add new asserts to the free-page allocator.
FossilOrigin-Name: 9a135e37b696b8544da8dbddf9d1041b8fa6f1c2
2013-03-02 03:25:55 +00:00
dan
9138471141
Fix a case where database corruption may cause an assert() to fail.
...
FossilOrigin-Name: ba33bb059ed4f4547da2880dbc8bd827c06fae34
2013-02-24 11:50:43 +00:00
dan
e0b605917e
Fix a case in the incremental vacuum code where database corruption was going unreported.
...
FossilOrigin-Name: 4cd30c72629a7f44b18026a70103aa0bb8a3b959
2013-02-23 19:43:47 +00:00
dan
22d2730047
Fix a cut-and-paste bug causing the library to fail to report database corruption in a few cases.
...
FossilOrigin-Name: f921df59560d536f5b80eef8c995cbe3ff591bae
2013-02-23 19:11:47 +00:00
dan
87ade19eb9
Fix off-by-one bug in [c3939d2491] uncovered by th3.
...
FossilOrigin-Name: 66f9faa9a969d004486ee38d492fb3eda6cdebab
2013-02-23 17:49:16 +00:00
dan
bc1a3c6ce2
If a rollback mode transaction reduces the size of the database file, avoid actually truncating the file until after the transaction has been committed (but before the db has been unlocked). This means pages that are removed from the database by truncating the file need not be journalled.
...
FossilOrigin-Name: b73847f17b7ae1298dfc52de6c4c4bc809bc77a3
2013-02-23 16:40:46 +00:00
dan
f38b65a85d
Fix a problem with the previous commit.
...
FossilOrigin-Name: 720a3ceafc35b81936ed2eb1f07a7187d104f0a0
2013-02-22 20:57:47 +00:00
dan
51f0b6d568
Avoid moving pages more than once in an incremental vacuum operation.
...
FossilOrigin-Name: c3939d249119b47bd57baa11a5ed7cc6014fc795
2013-02-22 20:16:34 +00:00
drh
32055c2499
Allow the error message from "PRAGMA integrity_check" to be longer than
...
20,000 bytes.
FossilOrigin-Name: 120c82d56ecb574f46db01679317b8062d8779ed
2012-12-12 14:30:03 +00:00
mistachkin
5f070c7bc8
More warning fixes.
...
FossilOrigin-Name: 51a6a797e1d61c4361b87cdf3467bfd3ce161cc3
2012-10-18 10:35:19 +00:00
dan
b483eba051
Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients.
...
FossilOrigin-Name: af5c9ee4a453f71c03f24ad08824ced6c1b97afb
2012-10-13 19:58:11 +00:00
mistachkin
e7c54168fa
Work around an optimization issue with the MSVC compiler for ARM.
...
FossilOrigin-Name: 7d301fdfeec540e4a58f43bff04d219e9f769dc4
2012-10-02 22:54:27 +00:00
drh
a1f3853793
Omit the sqlite3GetReservedNoMutex() routine in build configurations where
...
it is not used.
FossilOrigin-Name: f193dbb6b96b2f49dd0d6345802c9c006cd99e3c
2012-10-01 12:44:26 +00:00
dan
0094f37e1f
Avoid calling sqlite3BtreeEnter() in a corner case where the corresponding database handle mutex (sqlite3.mutex) may not be held. This prevents a potential deadlock or crash that can occur if the backup API, shared-cache mode and SQLITE_HAVE_CODEC are all in use.
...
FossilOrigin-Name: 89b8c377a6f03d9fa885f3f94c1f0b1eec263dea
2012-09-28 20:23:42 +00:00
mistachkin
70a1b71fb6
Modify the clearCell function to use SQLITE_CORRUPT_BKPT in the one place it was not.
...
FossilOrigin-Name: 472beb306a4fa7103837d4417aef7d66eef49993
2012-09-28 18:13:35 +00:00
mistachkin
d5578433ff
Fix all known instances of 'repeated the' style typos in comments. No changes to code.
...
FossilOrigin-Name: 9b19b847533f944f289d93dcdba29c0d67bf251c
2012-08-25 10:01:29 +00:00
drh
f2f105d40e
Remove tab characters from source code files. Replace them with spaces.
...
FossilOrigin-Name: 7edd10a960d5ff121e470b0549b0aa9fb7760022
2012-08-20 15:53:54 +00:00
drh
ec73930adc
Add an assert() to the btree rebalancer in order to silence a
...
clang/scan-build warning.
FossilOrigin-Name: 6730579cf5c6c74cb293e7237d896d3a3a36b691
2012-08-14 18:43:39 +00:00
dan
7d6885ae8a
When populating an index b-tree as part of a CREATE INDEX or REINDEX statement, distribute cells between up to three siblings in balance_nonroot() instead of four. This produces identical database files, but is slightly faster.
...
FossilOrigin-Name: b0d31e779ecf01c5a235443c05f488b177ac3045
2012-08-08 14:04:56 +00:00
dan
f64cc49962
When building a b-tree as part of a CREATE INDEX or REINDEX statement, attempt to pack keys into pages as tightly as possible.
...
FossilOrigin-Name: efea62b96c6a242c8ac2bdad70e50c87aee5e871
2012-08-08 11:55:15 +00:00
dan
428c218c90
When reusing pages as part of creating a new index, allocate the leaves from each free-list trunk page in ascending order, instead of trying to maximize localization for each individual allocation. This increases the chance that pages will be written to disk in ascending order by a large CREATE INDEX statement, improving overall performance.
...
FossilOrigin-Name: d045f8b2d44e388d8c4549ff02d4ca7eff4e2038
2012-08-06 18:50:11 +00:00
drh
9c67b2aae0
Add the mode=memory option to URI filenames, which when present forces the
...
database to be an in-memory database. This enables named in-memory databases.
FossilOrigin-Name: 651520fa84ee0c488bef660bab9865500309d5e9
2012-05-28 13:58:00 +00:00
drh
d4e0bb0e65
Have user interfaces report out the filename of in-memory databases as an
...
empty string, as it always has. This simplifies the changes.
FossilOrigin-Name: 595dfdbffefb2598cba89980f885289d1c5f5833
2012-05-27 01:19:04 +00:00
drh
4ab9d254e0
Only allow :memory: databases to share cache if there are created using a
...
URI filename. This minimizes the risk of breakages in legacy applications
that have shared-cache enabled but also use :memory: databases which they
expect to keep separate.
FossilOrigin-Name: e3ad61e0308a8442c2bdb7cdb3465576cd39ed4a
2012-05-26 20:08:49 +00:00
drh
afc8b7f0c1
Enable the use of shared cache for an in-memory database, so that separate
...
database connections can share the same in-memory database.
FossilOrigin-Name: 4590e433f2a595bb80fb061024b0a3d2ca25b7b2
2012-05-26 18:06:38 +00:00
dan
1235bb1815
Modify the integrity-check code to reduce the size of the large allocation from 4 bytes to 1 bit for each page in the database file.
...
FossilOrigin-Name: fa3a498dfe9ed59c30da5eaa0d7cad167fd4e393
2012-04-03 17:43:28 +00:00
drh
d60f4f4c95
When an incremental blob cursor is invalidated (occurs when an SQL statement modifies or deletes the row the blob cursor points to) release all page references held by the cursor. Otherwise, the presence of these references may cause other code in btree.c to incorrectly infer that the database is corrupt.
...
FossilOrigin-Name: 341b703ce16361a64ed8bba64ff46792132c0b56
2012-03-23 14:23:52 +00:00
drh
0f198a7409
Change the ROLLBACK command so that pending statements to not block it. The
...
pending statements instead return SQLITE_ABORT upon next access. Note: This
causes separate shared-cache connections in read_uncommitted mode to abort as
well.
FossilOrigin-Name: 9b66c79e054c8a109d1ee8d35fed1c42814c330d
2012-02-13 16:43:16 +00:00
drh
2cbd78b70e
Reduce the size of the MemPage object by about 32 bytes. Other structure
...
size optimizations.
FossilOrigin-Name: 21695c3476804477cb378b5a643196380e7e2281
2012-02-02 19:37:18 +00:00
drh
33f111dc72
Remove the undocumented PRAGMA omit_readlock hack.
...
FossilOrigin-Name: 96900c47e4fc6ed55cefc10d55d3d8d16bcb1d31
2012-01-17 15:29:14 +00:00
dan
6c2688c8d4
Fix typos in a testcase() macro introduced by the previous commit.
...
FossilOrigin-Name: 0467742fd6ef33dfe4df66e5046f075fe8e0260d
2012-01-12 15:05:03 +00:00
dan
bb246c4da0
Remove some assert() statements that can fail with corrupt databases.
...
FossilOrigin-Name: 7654ae71bd26ae5d713935624d2b6cb8d2e4633f
2012-01-12 14:25:55 +00:00
mistachkin
0547e2ff7b
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: 9612bcd648c7654050ddb2f955a28cbc527a8c2e
2012-01-08 00:54:02 +00:00
drh
c91663499e
Combine various boolean variables in the BtShared structure into a single
...
boolean vector. Also make performance improvement simplifications to
sqlite3BtreeMovetoUnpacked().
FossilOrigin-Name: 119493318e0ad4c2858fe1484b0d71669bd81531
2012-01-05 23:32:06 +00:00
drh
2f32fbae31
Remove an incorrect assert() in btree.c.
...
FossilOrigin-Name: c1691d998a03fee3bef137ccf2e8ca45acac2df4
2012-01-02 16:38:57 +00:00
dan
27d47fbe6e
Avoid 32-bit overflow when calculating the byte offset of an overflow page in SQLITE_DIRECT_OVERFLOW_READ code. Fix for [ac0ff496b7].
...
FossilOrigin-Name: c5256b59ad70104c1e181b9f49d1d712cf4cc9f6
2011-12-21 17:00:16 +00:00
drh
070ad6b6fe
Restore the test for sqlite3OsFullPathname() failure that was mistakenly
...
removed when [ceee03c79a] was backed out by [69ec53fc1c].
FossilOrigin-Name: 4d3cf9e1d8ac356db5a708913f614e42a6a56b94
2011-11-17 11:43:19 +00:00
drh
3def2357e6
Make sure a corrupt index does not cause a buffer overread in
...
sqlite3VdbeRecordCompare().
FossilOrigin-Name: 471cf0d8e7857110e525e029c2d535cb518dba6a
2011-11-11 00:27:15 +00:00
drh
30ddce6ff4
Added the tool/warnings-clang.sh script. Changes so that there are no
...
warnings with either gcc or clang even including FTS4 and RTREE and
both with and without SQLITE_THREADSAFE=0.
FossilOrigin-Name: 39408702a989f907261c298bf0947f3e68bd10fe
2011-10-15 00:16:30 +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
8a575d9aa9
Clarify a comment and fix a code formatting issue in btree.c.
...
FossilOrigin-Name: 4f1a558d0013fbf3fe00bdf5883e61a1f3779831
2011-10-12 17:00:28 +00:00
dan
f4ba109356
Add the SQLITE_DIRECT_OVERFLOW_READ compile time option.
...
FossilOrigin-Name: 2ab14a846727857175eac7961b7338c4d3b417ca
2011-10-08 14:57:07 +00:00
mistachkin
0fe5f95c7f
Remove 'const' from a variable that might actually be written when an OOM error occurs. Also, fix a couple MSVC/Win32 compiler warnings.
...
FossilOrigin-Name: 3035dc1c7398791d550f4c02774ef7f961b4bb02
2011-09-14 18:19:08 +00:00
dan
42acb3e597
Fix a minor performance regression in btreeMoveto().
...
FossilOrigin-Name: d0712dfb24867a807c9cddcc12bd0aebe1d3e085
2011-09-05 20:16:38 +00:00