1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-04-21 19:26:38 +03:00

1192 Commits

Author SHA1 Message Date
danielk1977
112f752be8 Fix a couple of potential corruption problems in pager.c. (CVS 6143)
FossilOrigin-Name: 5a39525ba3e65f1c6df3cf23fbfb57f6a0bf4b62
2009-01-08 17:50:45 +00:00
drh
4fd18c4b31 Add a test script for ticket #2565. Change the assert() in pager.c into
a testcase() macro. (CVS 6142)

FossilOrigin-Name: 1e53e382e5030de4d908098bf77af053dd81f0c5
2009-01-08 15:24:01 +00:00
danielk1977
f70c1fee96 Make the same change as (6121) (accidentally reverted). Also enhance test_journal.c to catch this kind of bug. (CVS 6136)
FossilOrigin-Name: ccc9c211a285fd4da68b69e15594f080371be522
2009-01-07 18:08:48 +00:00
drh
ee03d629f5 Conjecture: a journal header with nRec==0 must be the last header in the
journal.  Add asserts to make this conjecture explicit. (CVS 6132)

FossilOrigin-Name: 15b5b5f90c2ffa79155cdc2dbc4fb5583cb72017
2009-01-07 15:33:45 +00:00
danielk1977
f90b7260b3 Fix for 'truncate file' operations on in-memory databases. (CVS 6131)
FossilOrigin-Name: 83d1eafbde556f56969c6f285b6767d2c658dbfc
2009-01-07 15:18:20 +00:00
danielk1977
9153d850cc Add a comment to the openSubjournal() function in pager.c. (CVS 6130)
FossilOrigin-Name: 04387ae10ab3be24c93497f4af6f48d6832f37eb
2009-01-07 10:52:56 +00:00
danielk1977
1fab7b6664 Fix a problem with reverting a 'DROP TABLE' command executed inside of a savepoint on an auto-vacuum database. (CVS 6129)
FossilOrigin-Name: 3a4bb83235e9a79297e7d5d47ac7674c9df960bf
2009-01-07 10:35:18 +00:00
drh
d6e5e09816 Pager changes attempting to verify that ticket #2565 cannot recur. (CVS 6126)
FossilOrigin-Name: 15b9dac455b3f457bb177fc4985b45957647cbec
2009-01-07 02:03:35 +00:00
drh
30d537011a Cleanup of the PAGERTRACE macro. Other comment changes in pager.c. (CVS 6122)
FossilOrigin-Name: ee7b4b60880e80e6fb0b2f93ebc6ee5ad6917f9d
2009-01-06 15:58:57 +00:00
danielk1977
be9c0ab276 The fix in (6120) wasn't quite right. This fixes it. (CVS 6121)
FossilOrigin-Name: ddc2ebfa529b15cdbdd3b6b6d4873cb085cfd3b9
2009-01-06 15:28:34 +00:00
danielk1977
f9bce3c54d Fix a recently introduced problem in "permutations.test autovacuum_crash". (CVS 6120)
FossilOrigin-Name: 2cdbb468ed81d35a7e1a580683864de60e103083
2009-01-06 15:20:58 +00:00
danielk1977
401b65ed77 Fix a memory leak in test_journal.c (test code). Also remove function pager_truncate_cache(), a wrapper around sqlite3PCacheTruncate(), from pager.c. (CVS 6118)
FossilOrigin-Name: a64f3db0b39af53c8d8f80c242baa8aa4b5bd04e
2009-01-06 14:34:34 +00:00
danielk1977
f2c31ad8af Add some savepoint related test cases and fix a few problems. (CVS 6116)
FossilOrigin-Name: 8c62ea4fded2251e9daf16f2a050f94359299d76
2009-01-06 13:40:08 +00:00
drh
a8a71bac3f Fix a typo in a comment. (CVS 6106)
FossilOrigin-Name: 50f57cd1456f18919a8c90efa05da446ae12788d
2009-01-03 12:55:17 +00:00
drh
7539b6b81a Memory allocation failure in Bitvec are probably all benign. Still, add
code to check this, just to be sure. (CVS 6104)

FossilOrigin-Name: 4688e1c8b1203c3538aa862421ed344888059fe2
2009-01-02 21:39:39 +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
c81806f3ed Fix a (benign) valgrind error that can occur following malloc failure while executing a 'ROLLBACK TO savepoint' command. (CVS 6096)
FossilOrigin-Name: 9ff8598f3be123a244f71b45e77af913b836504a
2009-01-01 15:20:37 +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
danielk1977
67ddef6922 Fix a problem with the savepoint code and in-memory journals. (CVS 6061)
FossilOrigin-Name: 26ceebf38e7ae7bbda3284995b03f829a2d2493f
2008-12-23 19:15:56 +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
8a7adb0dc0 Changes to test scripts so that veryquick.test runs with SQLITE_TEMP_STORE=3 defined. Also a fix to stop the same switch causing a crash in the savepoint code. (CVS 6053)
FossilOrigin-Name: ee0e6eae9f984472e44d7ee8f195c6e5d33f2efd
2008-12-22 11:43:35 +00:00
danielk1977
f3107512f7 Add a case to permutations.test to run tests with the test_journal.c backend installed. Also many fixes to test_journal.c and one quite obscure fix to pager.c. (CVS 6052)
FossilOrigin-Name: bb177e3072ab61d0af7af91660ebe4dafa487b42
2008-12-22 10:58:46 +00:00
danielk1977
ecfef98536 Fix the crash-followed-by-corruption bug revealed by savepoint4.test. This is actually the same bug as was fixed by (6043). The fix was not entirely correct. (CVS 6047)
FossilOrigin-Name: 688336266f0aa5630f4f550ae3787a64f39f9cfa
2008-12-20 08:39:57 +00:00
danielk1977
488af09972 Add some crash-tests for savepoint. Fix a bug revealed by these tests. (CVS 6043)
FossilOrigin-Name: 6f36c16678b6e3baa5a9d9ceba1a756a8034f3e1
2008-12-19 16:31:11 +00:00
danielk1977
34cf35dac4 Increase test coverage of new savepoint code. (CVS 6040)
FossilOrigin-Name: d915718d0b346982d686d131a159b67e28fc02a8
2008-12-18 18:31:38 +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
4f21c4af30 Fix an issue with the new sqlite3Strlen30() introduced by
check-in (6007).  Additional casts for compiler warnings. (CVS 6011)

FossilOrigin-Name: 258722b6178f60eaccef1675aab3edc456d413a5
2008-12-10 22:15:00 +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
ea6788322e Never use strlen(). Use our own internal sqlite3Strlen30() which is
guaranteed to never overflow an integer.  Additional explicit casts to
avoid nuisance warning messages. (CVS 6007)

FossilOrigin-Name: c872d554930ecf221ac2be5f886d5d67bb35288c
2008-12-10 19:26:22 +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
08609ce7f0 Fully initialize the unused bytes of the buffer that will become the journal
file header, in order to silence a complaint from valgrind. (CVS 5968)

FossilOrigin-Name: 2822cbb960dbef9d30586ee112d74f9f566309fa
2008-11-29 22:49:23 +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
drh
c047b9f74d On a ROLLBACK, if there page cache entries which are dirty but not in the
rollback journal, make sure they get reinitialized in the btree layer. (CVS 5936)

FossilOrigin-Name: faded96f36229ee85039276db693391d0f10648c
2008-11-21 03:23:43 +00:00
drh
1feb7dd391 Update the SECURE_DELETE code to track the latest changes in the pager. (CVS 5928)
FossilOrigin-Name: e058f509374e98e48eafeba2f1dadff9633d1190
2008-11-19 18:30:29 +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
d92db531c8 Modifications to pager.c to avoid the unsigned/signed warnings. (CVS 5909)
FossilOrigin-Name: cb6be84dfc5d6546d07359b32fe04555561325de
2008-11-17 04:56:24 +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
drh
98c58356ae Prevent a rollback from crashing if the sector-size field of the
rollback journal is corrupted. (CVS 5868)

FossilOrigin-Name: cf9d1d933f6b6713018928d9a7680ae63e8edcd0
2008-11-07 00:24:53 +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
281d8bd3ac If a hot-journal file is detected but the application does not have the required read/write permissions, return SQLITE_CANTOPEN. Prior to this change, SQLITE_BUSY was returned. Ticket #3457. (CVS 5849)
FossilOrigin-Name: dc5308c7629abe6a3bad21489c8e97087c264e5a
2008-10-29 07:01:56 +00:00
shane
049fc21db9 Make sure variable declarations occur first in code blocks. (CVS 5836)
FossilOrigin-Name: b78f44c91fcf3920e69c11a6f72e8f032905a3c7
2008-10-22 16:26:47 +00:00
danielk1977
b3175389c7 Add "pragma journal_mode=memory". Change the way rollback works for in-memory databases so that it reuses the journal_mode=memory code. (CVS 5830)
FossilOrigin-Name: 39ebf01addf9d0867daafd06a38719e725128f9c
2008-10-17 18:51:52 +00:00
danielk1977
c56774e234 Fix a problem with hot-journal rollback. SQLITE_CANTOPEN was being returned if the hot-journal file contained a pointer to a master journal file that did not exist. (CVS 5775)
FossilOrigin-Name: 22d1feb9b20b8fd9c86066b94e4220cf8929b043
2008-10-07 11:51:20 +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
drh
04335886a1 Add the "truncate" journal mode which commits transactions by truncating the
rollback journal file to zero length and not calling fsync(). (CVS 5745)

FossilOrigin-Name: 7c561f2e9264de676c1028943f6c3d06542fd802
2008-09-26 21:08:08 +00:00
danielk1977
98c21903bd Always transform error code SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. This was already happening in most places. (CVS 5738)
FossilOrigin-Name: 046ef07261d520c9399bd8cdfdfd5281956b7a27
2008-09-23 16:41:29 +00:00
danielk1977
65e0ff3217 Remove an obsolete layer of redirection in pager.c. (CVS 5723)
FossilOrigin-Name: 75deaa442f3a363c4ea5b6f0e510306feeaa8915
2008-09-19 09:14:43 +00:00