1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-15 11:41:13 +03:00
Commit Graph

763 Commits

Author SHA1 Message Date
danielk1977
64beba4338 Avoid a segfault when running vacuum on an in-memory database. Ticket #3620. (CVS 6221)
FossilOrigin-Name: 407830c6839a81fa0a1010940740df3011713a88
2009-01-31 14:54:06 +00:00
drh
20abac2f87 Fix a segfault that can occur when attempting to insert into
a corrupt database file.  Need a test case. (CVS 6212)

FossilOrigin-Name: 68957cf0c4bae0c6cf450b4de1d6bc1bc64b232c
2009-01-28 20:21:17 +00:00
danielk1977
bea2a94850 Big change to make pager.c easier to follow. Unused variables removed, comments improved, etc. (CVS 6197)
FossilOrigin-Name: 12f7346c13c180ed73d7a2e3b590be457360254a
2009-01-20 17:06:27 +00:00
danielk1977
45d6882fd9 Revert (6187). (CVS 6188)
FossilOrigin-Name: a353c1ab376b159c4d12532412365318cdbdcc60
2009-01-16 16:23:38 +00:00
danielk1977
443c0597fe This commit is an error. Reverted by (6188). (CVS 6187)
FossilOrigin-Name: aa67fd0cdb4f53a0c6e15c001d37554d15006718
2009-01-16 15:21:05 +00:00
drh
47c3b3e099 When compiled with SQLITE_DEBUG (in other words, when assert() is enabled)
the ALWAYS and NEVER macros will throw an assertion if their arguments are
not true or false, respectively. (CVS 6159)

FossilOrigin-Name: 64a8dcd8d6152108809e4d10c459f1de5d36a435
2009-01-10 16:15:20 +00:00
drh
6402250ea2 Simplifications to btree.c to improve test coverage. (CVS 6150)
FossilOrigin-Name: ac84f106d572e881136adc3434d00d70564f57cb
2009-01-09 14:11:04 +00:00
danielk1977
076dce5336 Reduce the number of paths in btreeCopyFile(). (CVS 6124)
FossilOrigin-Name: df2c285cb99ac188c96dd1a4e6a30f689195a150
2009-01-06 18:21:08 +00:00
drh
9f0bbf9cae Reinitialize page 1 of the database file following a ROLLBACK TO of a
transactional SAVEPOINT on an initially empty database. (CVS 6103)

FossilOrigin-Name: 3e9efb763875b20c856d748c19e449080a3ae97c
2009-01-02 21:08:09 +00:00
drh
49b9d33892 Fix compiler warnings in pager.c (CVS 6102)
FossilOrigin-Name: 78dd7909da15a9b2cbcdb9cbe86798cfc24f3230
2009-01-02 18:10:42 +00:00
danielk1977
3460d19c85 Fix a problem with savepoint and incremental-vacuum. (CVS 6066)
FossilOrigin-Name: 08352f9ea9d2a1759320efc46e418079000855cb
2008-12-27 15:23:13 +00:00
drh
30df00983e Make sure nOverflow is always cleared when a page is released. (CVS 6059)
FossilOrigin-Name: 8d0f724477422db05ed46e58ce40a720107384f0
2008-12-23 15:58:06 +00:00
danielk1977
a4124bdfb7 Fix a couple of assert() failures that can occur in btree.c and pager.c. (CVS 6055)
FossilOrigin-Name: ae44e7482476478c8eeacfb80b282f17894530e5
2008-12-23 10:37:47 +00:00
danielk1977
12dd54962d Add savepoint2.test, a file containing savepoint tests similar to tests in trans.test and avtrans.test. And a few savepoint bug fixes. (CVS 6039)
FossilOrigin-Name: 98a53d91f6c0c2692d3b56687fdaba8eeab0959d
2008-12-18 15:45:07 +00:00
danielk1977
fd7f045225 Add the savepoint feature. This feature is largely untested at this point. (CVS 6036)
FossilOrigin-Name: 34b56600ec0c5cd7b5faab265750252bc9850e3e
2008-12-17 17:30:26 +00:00
drh
66e8008404 Make sure the memory returned from sqlite3ScratchMalloc() is 8-byte aligned.
Ticket #3542. (CVS 6031)

FossilOrigin-Name: 13b56b7ff97c3abc116dae934f6d1330bbb7762d
2008-12-16 13:46:29 +00:00
drh
1bd10f8a00 Additional work at eliminating silly compiler warnings. (CVS 6010)
FossilOrigin-Name: ea01d43788a75e39c7f03c22681d1a338d52cf0e
2008-12-10 21:19:56 +00:00
drh
f49661a4eb Add explicit casts to silence nuisance warnings from VC++. (CVS 6004)
FossilOrigin-Name: da1cbfa766f7f379c01f4ac9c1210462d8d7c590
2008-12-10 16:45:50 +00:00
drh
e43ba702bc Fix integrity check so that it always reports memory allocation errors that
it encounters. (CVS 5984)

FossilOrigin-Name: 2a3f5ce14c050b135ab9d2247aee84ca37882c4b
2008-12-05 22:40:08 +00:00
drh
9bf9e9c86d Make sure the nOverflow flag in MemPage is reset to zero after every insert. (CVS 5983)
FossilOrigin-Name: bfde3dae0c7b97308344519ca06cd4b290e8cf47
2008-12-05 20:01:43 +00:00
drh
c5053fb922 Add 19 new assert() statements in btree.c that attempt to detect writing to
a cache page which is not writeable. (CVS 5964)

FossilOrigin-Name: f9c7359065829b016d8cd04304c02509c254fe05
2008-11-27 02:22:10 +00:00
danielk1977
36e20936f6 Fix an obscure memory leak that can follow an IO error. (CVS 5956)
FossilOrigin-Name: 8271229c66c72c344ad7afb901b88d9cdaaa6f43
2008-11-26 07:40:30 +00:00
danielk1977
0cd1bbd0b8 Fix a couple of assert() failures provoked by running with a small default cache-size (64 pages). (CVS 5955)
FossilOrigin-Name: 1a66481a37dd9a21673c0ffb3df2be0614fe9f63
2008-11-26 07:25:52 +00:00
danielk1977
b247c21c15 Fix the problems demonstrated in tkt35xx.test in a different way to (5936). (CVS 5938)
FossilOrigin-Name: ddf980a50127a9de35edeca5549f4b51e3f733e6
2008-11-21 09:09:01 +00:00
danielk1977
1ceedd3736 Simplify the way the pager layer invokes the busy-handler callback. (CVS 5922)
FossilOrigin-Name: 7bd1ac189906d87ed360875551d50147dd2186f6
2008-11-19 10:22:33 +00:00
danielk1977
62c14b3487 Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +00:00
danielk1977
89d4004f03 Changes to btree.c to avoid the unsigned/signed comparison warnings. (CVS 5911)
FossilOrigin-Name: 24469dbace433ca89e22274f741f382052c5d17d
2008-11-17 14:20:56 +00:00
shane
dcc50b74e6 Fixed several more crashes due to corrupt db files. Added corruptC.test to soak.test. (CVS 5905)
FossilOrigin-Name: 9b7a52e952c81e50611e04d2d79003b0ddc57ee5
2008-11-13 18:29:50 +00:00
danielk1977
bc2ca9eb39 Add an API to support custom page cache implementations. (CVS 5899)
FossilOrigin-Name: 47866d6708e9b69e367937fd85f93580fd025447
2008-11-13 14:28:28 +00:00
danielk1977
0d0654119f Avoid some buffer overreads detected by valgrind while running corruptC.test. (CVS 5898)
FossilOrigin-Name: faa6bd7b615837c920b5b3b027115caa2f56ec15
2008-11-12 18:21:36 +00:00
danielk1977
360e634ed4 Fix a database corruption related crash uncovered by corruptC.test. (CVS 5890)
FossilOrigin-Name: 395084acbb4c8ef878d858f640f1ed6be908d175
2008-11-12 08:49:51 +00:00
shane
0af3f8935f Fixed a few more crashes when dealing with corrupt db files. (CVS 5888)
FossilOrigin-Name: f8bb34e40917e55696376d2def932a41ad43d0ae
2008-11-12 04:55:34 +00:00
shane
34ac18daf5 Fixed crash during an UPDATE when free cell size is corrupt. (CVS 5887)
FossilOrigin-Name: ec18667e2d2826a27f2c052ba3790ab5b8cf0bc4
2008-11-11 22:18:20 +00:00
shane
826d5b7e1c Prevent a crash during an UPDATE when the cell offset is corrupt. (CVS 5886)
FossilOrigin-Name: 99d4172ed6825c7efb6cbb28eb00d98323a13954
2008-11-11 20:51:50 +00:00
shane
5780ebdf79 Fixed crash in integrity_check with corrupt content offset size in page header. (CVS 5881)
FossilOrigin-Name: 0659a666ff0a9fc81ee4df3c35e535164c79e588
2008-11-11 17:36:30 +00:00
shane
831c329542 In btree.c, omit calls to setChildPtrmaps() if SQLITE_OMIT_AUTOVACUUM is defined. Ticket #3439. (CVS 5871)
FossilOrigin-Name: e0f07323e878c44ad2ccc38628c74c27f79e35ef
2008-11-10 17:14:58 +00:00
drh
dfe88ece74 Change the name of the Cursor object to VdbeCursor. (CVS 5857)
FossilOrigin-Name: fdb98fd8c1706085ebeef8e48ac6737839bed5e5
2008-11-03 20:55:06 +00:00
danielk1977
c7af484b4b Make sqlite3_count_changes() and total_changes() work with "DELETE FROM <table-name>". (CVS 5844)
FossilOrigin-Name: e68e4282adb9003aa297d033aeb5d9cadee215cd
2008-10-27 13:59:33 +00:00
danielk1977
be51a65dbc After an OP_NullRow is executed on a cursor, cause any subsequent OP_Next or OP_Prev to behave as if there were no more rows to traverse. Ticket #3424. (CVS 5782)
FossilOrigin-Name: af679f6170b346fe61df7dae963b2a2853e62a62
2008-10-08 17:58:48 +00:00
drh
f94a173a95 Add some testcase() and assert() macros to btree.c to aid with testing
recent changes. (CVS 5757)

FossilOrigin-Name: fb461b78dfc2501fafa8bce03da5487fdfdff959
2008-09-30 17:18:17 +00:00
danielk1977
a69fda25ff Fix a comment in btree.c. No code changes. (CVS 5756)
FossilOrigin-Name: 0f3c56330b43fb7c9dc43a444ca38bace9397ede
2008-09-30 16:48:10 +00:00
drh
7b682804c7 Change leading tabs into spaces. (CVS 5755)
FossilOrigin-Name: 4e536463c1aa9991de85c7efc826c28896ca61d3
2008-09-30 14:06:28 +00:00
danielk1977
2f78fc66b5 Fix a recently introduced problem with deleting entries from index tables. (CVS 5754)
FossilOrigin-Name: 83c064cae481ca95b7107e22e98fc599fe85a2da
2008-09-30 09:31:45 +00:00
danielk1977
00a696d6d1 Remove the reparentPage() and reparentChildPages() functions from btree.c. All calls to these functions can now be replaced by a call to setChildPtrmaps(). (CVS 5751)
FossilOrigin-Name: 35e8e4dcd24b050b535ae005ca3b25e6a673eb89
2008-09-29 16:41:31 +00:00
danielk1977
bf93c56737 Remove the MemPage.idxShift variable. It is no longer required. (CVS 5750)
FossilOrigin-Name: 7354abd03be756b1d7d0a3d5b8958f5c0c985ff5
2008-09-29 15:53:25 +00:00
danielk1977
71d5d2cd49 Instead of storing a pointer to the parent page in the MemPage structure, have each B-Tree cursor keep track of the ancestry of the current page. (CVS 5747)
FossilOrigin-Name: 40425e93421286cca1965d7a5769084526210c7a
2008-09-29 11:49:47 +00:00
danielk1977
d326064e0d Performance enhancement: avoid calling reparentChildPages() from balance_nonroot(). (CVS 5743)
FossilOrigin-Name: 28fd0a50ca8529892f5b1ababd38d494889eed6d
2008-09-26 17:31:55 +00:00
danielk1977
d9f6c53232 In function moveToRoot(), use the MemPage.pParent pointers to find the root page if they are valid. This is slightly faster than requesting a new reference to the root page from the pager layer. (CVS 5725)
FossilOrigin-Name: 0c8b74e668b7462c5439c04993d1d7cd74210075
2008-09-19 16:39:38 +00:00
danielk1977
ea89730823 In sqlite3BtreeGetMeta(), if BtShared.pPage1 is available use it instead of requesting a new reference from the pager layer. (CVS 5724)
FossilOrigin-Name: 59be34cfa4fe74f7e5b547c55d273ecba9d7796c
2008-09-19 15:10:58 +00:00
danielk1977
e08a3c4f91 Fix a segfault introduced by (5720) that can follow an IO error. (CVS 5721)
FossilOrigin-Name: 05d3462688507b61710cbda27adf61d0b0514e27
2008-09-18 18:17:03 +00:00