1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00
Commit Graph

840 Commits

Author SHA1 Message Date
drh
c2a4bab462 If the size of the database according to the header is larger than the
actual database file size, report that the database is corrupt.

FossilOrigin-Name: 8eb1f2443f2712920452b7ed3fb835c7f3221191
2010-04-02 12:46:45 +00:00
drh
1f5b467f13 Restore the size information in the BtShared structure when a transaction
rolls back.

FossilOrigin-Name: 802aeb30c9baf4059fa84f4693f290f80d3a4085
2010-04-01 02:22:19 +00:00
drh
8d8626fe2b Report corruption if a database contains a reference that is out of range
according to the filesize-in-header database size.

FossilOrigin-Name: a91db0b1cd0b0fbadc5c8fe2eb8863629b411d87
2010-03-31 20:29:06 +00:00
drh
97b59a56d2 Increase test coverage following the introduction of the new
filesize-in-header logic.

FossilOrigin-Name: dbc2c3c0144d2c76aec04f80892302c532947dc8
2010-03-31 02:31:33 +00:00
drh
b1299158c7 Continuing refinements to the filesize-in-header enhancement.
FossilOrigin-Name: 79e22b95038c50b9b7f35e09262805ff6338b59b
2010-03-30 22:58:33 +00:00
drh
bf59283ba2 Add a NEVER macro around a test in btree.c that can not longer be true.
FossilOrigin-Name: c117f99236a009778bb7878da464918554391f0a
2010-03-30 15:51:12 +00:00
drh
25a80ad0b1 The btree layer now tracks when a database is empty at the start of a
transaction and rolls back to that state.

FossilOrigin-Name: 01ef6c1944507c188a83a434ff00e98ad767f744
2010-03-29 21:13:12 +00:00
drh
5e0ccc216d Fix issues with the io.test script. There is still a problem with a
ROLLBACK TO not working on an initially empty database files.  And much
more testing is needed.

FossilOrigin-Name: 09786e2a51817d572a01ae7f3621f03fd27fc363
2010-03-29 19:36:52 +00:00
drh
dd3cd977cc Experimental changes that cause SQLite to use bytes 28..31 of the database
header to determine the database size, rather than using the actual database
size.  This allows database space to be preallocated.

FossilOrigin-Name: b844ac6fcb72595a71e5c5283ec461309a87ba79
2010-03-27 17:12:36 +00:00
shaneh
1da207e676 Minor changes to silence compiler warnings on various MSVC builds.
FossilOrigin-Name: 115c978b6bbc110119a1b2f178cc30b33aaa27ef
2010-03-09 14:41:12 +00:00
dan
2ed11e7b18 Avoid a buffer overwrite that can occur with a corrupt database if secure-delete is enabled.
FossilOrigin-Name: 7bdb1e05faceddbb0b8e3efee7d070ad8c4611a3
2010-02-26 15:09:19 +00:00
drh
383d30f483 Avoid incorrect compiler warnings by doing a couple of needless
variable initializations.

FossilOrigin-Name: 8f29490da62df07ea922b03cab52b6edd2669edb
2010-02-26 13:07:37 +00:00
shaneh
84f4b2f237 Minor changes to silence some compiler warnings with MSVC.
FossilOrigin-Name: 4927c62d6214d93e582bf1266215ed3519630c15
2010-02-26 01:46:54 +00:00
dan
887d4b2b43 Add experimental fix for corruption detection problem. This may well be revised yet.
FossilOrigin-Name: 1cc4be7ebc463921827e61da724f0de946c061f6
2010-02-25 12:09:16 +00:00
drh
9978c97ec5 Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging
output for CORRUPT, and CANTOPEN errors.

FossilOrigin-Name: 7c4cca6d1a23a6d1591b62f58c3716a944969947
2010-02-23 17:36:32 +00:00
shaneh
195475d839 Changes to pragma integrity_check to check rowid order. Tests of same in corruptE.test.
FossilOrigin-Name: cae47c5b09cb122689bcb020a66ce14982cc4aa8
2010-02-19 04:28:08 +00:00
drh
af034ed685 Enhancements to the secure_delete pragma to make it easier to use.
FossilOrigin-Name: 2bb38bb96ff6b9fb91dd1cf214041cf113ac5508
2010-02-12 19:46:26 +00:00
drh
5b47efa662 All the secure-delete setting to be changed at run-time using a pragma.
The SQLITE_SECURE_DELETE compile-time option determines the default setting.

FossilOrigin-Name: f72f8a870a0fc98a9f2b564ffafe7946bbce506e
2010-02-12 18:18:39 +00:00
drh
00ce39458d Enhanced detection of database corruption in btree.c:allocateSpace().
FossilOrigin-Name: 5a511f98877f0f7f12d336b7831f3da901856b02
2009-12-06 03:35:51 +00:00
drh
dc9b5f8ee3 Fix to check-in [f221f31eff]: Make sure local variable rc is declared even
when compiled without SQLITE_DEBUG.

FossilOrigin-Name: 7a9a35327c55452e858335933ce11669fc888aeb
2009-12-05 18:34:08 +00:00
dan
89e060e462 Catch an obscure case of database corruption.
FossilOrigin-Name: 0f9b17a6da42b4da667bbbc00f713effe92a66b5
2009-12-05 18:03:50 +00:00
drh
44a1d92050 Remove an assert() in btree.c:releasePage() that is not necessarily true
when the btree is recovering from an OOM that occurs in the middle of
a balance().

FossilOrigin-Name: 04fc9c7661dd24d080f965e7eae9010a2d346e6a
2009-12-04 22:51:39 +00:00
drh
c9b9b8aab7 Fix an assert() in btree.c that might have fired on a corrupt database file.
FossilOrigin-Name: 5ab2b3e300b70bc04cdead69275f8f734ea2d885
2009-12-03 21:26:52 +00:00
drh
313aa5735a Remove a NEVER() from btree.c that could occur in a very obscure tested
evaluation with an I/O error on fstat().

FossilOrigin-Name: d5861d9ffecca499d79d722b5f742ffe3a5aff44
2009-12-03 19:40:00 +00:00
drh
7ab641fb01 Fix SQLITE_SECURE_DELETE so that it overwrites content on the root pages
of tables and indices that are dropped using the truncate optimization.

FossilOrigin-Name: 02ef972a56aab1e61786000283193165d3968842
2009-11-24 02:37:02 +00:00
drh
f25a5071a6 Performance improvement by avoiding unnecessary calls to memset().
FossilOrigin-Name: 85940468e6f93f7c493fbc129f13cf6233c5d0c0
2009-11-18 23:01:25 +00:00
drh
c54055bd25 Force 8-byte memory alignment on memory allocated for VDBE cursors.
FossilOrigin-Name: bdc45ba77fb77771c8ff46b8d6c2dd29e6d3b019
2009-11-13 17:05:53 +00:00
drh
c81c11f62c Remove the obsolete "$Id:$" RCS identifier strings from the source code.
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
drh
1d452e1de0 Fix compiler warnings. Better comments on some variables associated with
LIKE/GLOB processing in the query planner.

FossilOrigin-Name: cfa2db0ff7a94e7f66c35f672ee41cadd45a6dd7
2009-11-01 19:26:59 +00:00
drh
0ee3dbef79 Comment cleanup in btree.c.
FossilOrigin-Name: 32966ba4796e70d0afcff6abdda9bdcba08b098a
2009-10-16 15:05:18 +00:00
dan
fa401def25 Experimental fix for [f777251dc7]. This may be changed yet.
FossilOrigin-Name: 174477bca05d019e663fd2b7cd031189ab2e010a
2009-10-16 14:55:03 +00:00
drh
f1f12688d8 Added SQLITE_OPEN_SHAREDCACHE and SQLITE_OPEN_PRIVATECACHE flags as
possibilities to sqlite3_open_v2(), to override the global shared
cache mode setting.  Ticket [9fd0bc36639c15]

FossilOrigin-Name: f509eb8b488bb39deda4ca88f66ed40c6784af02
2009-09-09 14:17:52 +00:00
drh
3e9ca09453 Code simplifications, especially to the pseudo-table logic, and comment
improvements.

FossilOrigin-Name: 52449a9569b7142095cc88ee208b31cc59a3cab4
2009-09-08 01:14:48 +00:00
drh
ec9b31f033 Avoid calling sqite3VdbeRecordCompare() with uninitialized memory following
an OOM.  Doing so is harmless, but it worries valgrind.

FossilOrigin-Name: d33b9eb2567561ccfdc588c95604cce9b697d768
2009-08-25 13:53:49 +00:00
dan
4361e79f14 Fix a case where SQLite may write past the end of a buffer as a result of a corrupted database file.
FossilOrigin-Name: 43321a556031942389ca11b033c1eae46ac6141b
2009-08-14 17:01:22 +00:00
shane
5eff7cf0c9 Removed some warnings from the MSVC compile. (CVS 6965)
FossilOrigin-Name: ee034cfc71425745dda8d5fee58ae95f937c86cd
2009-08-10 03:57:58 +00:00
drh
eeb844a7f1 Suppress various compiler warnings. (CVS 6963)
FossilOrigin-Name: 257e9b575029f63277ed602d1402f87cfa15d22e
2009-08-08 18:01:07 +00:00
drh
4775ecd06a Further simplifications to pager.c in support of structural coverage testing. (CVS 6929)
FossilOrigin-Name: 866216c0b6ba23b66483046fb402ddbe4f9a7b14
2009-07-24 19:01:19 +00:00
danielk1977
595a523a10 Allow virtual tables to be used in shared-cache mode. (CVS 6928)
FossilOrigin-Name: 5d9e767a05e381235e064061043e30cc03a11a07
2009-07-24 17:58:53 +00:00
drh
e39f2f9326 Simplifications and comment enhancements on btree.c. (CVS 6925)
FossilOrigin-Name: 5ba880dde8a219543ced6f792c7f9ecdcd8c1cbb
2009-07-23 01:43:59 +00:00
drh
5d1a872ab6 Simplifications to btree.c in support of coverage testing. (CVS 6923)
FossilOrigin-Name: 375fd6f9c54fa5aa8cfae30845c7bfc0ec49e8fa
2009-07-22 18:07:40 +00:00
danielk1977
146ba99061 Fix a double-free that can occur after database corruption is detected. (CVS 6921)
FossilOrigin-Name: 5260e8b1048af2e00d49706466d9aded90c24ed2
2009-07-22 14:08:13 +00:00
drh
ea8ffdfec7 Further simplifications to btree.c, especially the sqlite3BtreeKey() and
sqlite3BtreeData() functions.  New assert() statements added to verify
that these routines are called correctly. (CVS 6917)

FossilOrigin-Name: 96cfd079528501f6f1e658ce8a5a4e3bdea729be
2009-07-22 00:35:23 +00:00
danielk1977
89bc4bc645 Change getAndInitPage() (btree.c) to use only PagerAcquire(), not PagerLookup() and PagerAcquire(). (CVS 6916)
FossilOrigin-Name: 0b41dfc066b60ccabbf1a9ab4db41ebcb73a2799
2009-07-21 19:25:24 +00:00
drh
fe3313f9b1 Additional simplifications to btree.c in support of coverage testing. (CVS 6915)
FossilOrigin-Name: 716fccea58c4c217e68e04e0776e44ae39c11950
2009-07-21 19:02:20 +00:00
drh
fd5f02f0c6 Remove an assert() in btree.c which is no longer true due to changes in
the error reporting behavior of ptrmapPut(). (CVS 6914)

FossilOrigin-Name: 110998f18a7ad1ddaffab048cabef675d882cbb8
2009-07-21 15:33:14 +00:00
drh
c314dc7996 Changes to btree.c in support of coverage testing. (CVS 6913)
FossilOrigin-Name: 4cf23e9e860bd6245344884ec84f487fdf36f86f
2009-07-21 11:52:34 +00:00
drh
cd09c53d7f Reverse the order of two conditionals in a test in order to achieve coverage
of them both.  Also: clarifications to comments in btree.c. (CVS 6912)

FossilOrigin-Name: a159e9d24708dfe6c5a98d220e39f3b1b2a3d281
2009-07-20 19:30:00 +00:00
drh
98add2ed74 Modify various routines inside btree.c to take a pointer to the return-code
as a parameter and to no-op if the return-code storage location already
contains a non-zero code. (CVS 6911)

FossilOrigin-Name: 7dcf2a78727ce448d9d26bd6e2e23b553456ec54
2009-07-20 17:11:49 +00:00
drh
e64ca7ba11 Code simplifications and comment improvements in support of structural
coverage testing. (CVS 6899)

FossilOrigin-Name: 945251798144110787b197f9eb552a2dd4a25cb4
2009-07-16 18:21:17 +00:00