danielk1977
eaa06f6970
Avoid parsing the structure of b-tree pages (in sqlite3BtreeInitPage) more than is necessary. (CVS 5720)
...
FossilOrigin-Name: 6b998f3066754e219c266501327e5578c9406b63
2008-09-18 17:34:44 +00:00
drh
b3df2e1cfe
Speed improvements for in-memory databases by omitting flag clearing on pages
...
where it is impossible for the flag to be set and by avoiding assert()s on
non-debugging builds. Ticket #3384 . (CVS 5715)
FossilOrigin-Name: a7fd9e622bc1050e78f227ec42b6ba90c87c865a
2008-09-17 20:06:26 +00:00
danielk1977
1357d9f5f7
Do not attempt to change the page size after a pager has entered the error state (Pager.errCode!=SQLITE_OK). This prevents an assertion failure in vacuum3.test. (CVS 5703)
...
FossilOrigin-Name: aa5c9455be961e712d5c56de8d699adabb186cdc
2008-09-16 05:12:24 +00:00
danielk1977
55a25a1201
Fix a couple of problems with variable initializations picked up by stricter compilers. (CVS 5691)
...
FossilOrigin-Name: f4293d148007515eaf8eb9738f62554a963abe8e
2008-09-11 10:29:15 +00:00
danielk1977
4d60af9b0b
Fix a C++ism in pager.c (variable useAtomicWrite not declard at the top of its scope). (CVS 5683)
...
FossilOrigin-Name: a6dee85b823355cb381163c93c8366aa4395ae6a
2008-09-08 15:35:06 +00:00
drh
a9625eaeb9
If a rollback fails, mark the database as corrupt. (CVS 5668)
...
FossilOrigin-Name: c8b24bd1be94b6d385e759a2f9e202be066578a0
2008-09-03 00:08:29 +00:00
danielk1977
263ac19474
Add a 'const' to the opcodeProperty array in vdbe.c. (CVS 5661)
...
FossilOrigin-Name: 29c9a80294398a349bc7cf0fb84cd4ef8a9e2f60
2008-09-02 11:05:01 +00:00
drh
a85f7e36e8
Miscellaneous cleanup in the new pcache code. (CVS 5629)
...
FossilOrigin-Name: da1777259f53c2e20c7ced06bf6f2a550f0ea0fc
2008-08-28 02:26:07 +00:00
drh
c13148ffc0
Do not mark pages as clean when doing a statement journal rollback. (CVS 5626)
...
FossilOrigin-Name: 9d7722f4f357b96c37f950024f1e7e160e2c1252
2008-08-27 18:03:20 +00:00
danielk1977
a1fa00d95f
Use a bitvec object to store the set of pages with the 'always-rollback' property for a transaction. (CVS 5622)
...
FossilOrigin-Name: 9e9325997e11a0368721ed7860f4c37de3502a9b
2008-08-27 15:16:33 +00:00
danielk1977
4abdfa45db
Remove unreachable branches from pcache.c. (CVS 5620)
...
FossilOrigin-Name: 7de32498b349e046c5c886de255bbdefd6a7e8f7
2008-08-27 09:44:39 +00:00
drh
7426f864ae
All the page_size pragma to change the page size on a new :memory: database,
...
but not a vacuumed :memory: database. Ticket #3335 (CVS 5617)
FossilOrigin-Name: 226a9056783247679fcf442e10807a1f2707f463
2008-08-26 21:07:26 +00:00
danielk1977
d491e1bfd1
Simplify the pcache module by only recycling clean pages from 'other' caches. This commit causes errors in test files ioerr5.test and malloc5.test because they test recycling dirty pages from other caches. (CVS 5615)
...
FossilOrigin-Name: 9e511e161bcb077450d31fca5dd20c2557f103b3
2008-08-26 18:05:48 +00:00
drh
0a846f96ef
Fix bug in the premutation testing that was causing many permutations from
...
begin skipped. There are now 16 errors reported by the permutation test. (CVS 5610)
FossilOrigin-Name: 4ad096bda1fc5c7b66f71ff5b32a4085c9a40574
2008-08-25 17:23:29 +00:00
danielk1977
8c20014a0a
If the sector size is greater than the database page size, SQLite journals all pages that lie within a sector before writing to any of them. This change ensure that a journal sync does not occur halfway through journalling the set of pages that belong to a single sector. (CVS 5605)
...
FossilOrigin-Name: 16f612d61e00938f29ecae4ebfe598be7a8709a8
2008-08-25 07:12:28 +00:00
danielk1977
33e3216a3d
Instead of marking a page as clean when sqlite3PagerDontWrite() is called, set a dedictated flag - PGHDR_DONT_WRITE. (CVS 5604)
...
FossilOrigin-Name: a323bd29a600abddbcc2cc9961ab84d82cccc5e5
2008-08-23 18:53:08 +00:00
drh
ee76c61657
Remove dead code. (CVS 5601)
...
FossilOrigin-Name: 6de9c084fc533fbb22af6a4cd3e4e9a461b13876
2008-08-22 17:34:45 +00:00
danielk1977
a858aa2e8c
When recycling a page, try to find one that does not require a call to xSync() on the journal file. Also simplify some of the mutex related things in pcache. (CVS 5597)
...
FossilOrigin-Name: 93dbc5427bebaa0b3d726731027caad3f70611c7
2008-08-22 16:22:17 +00:00
drh
281b21daa6
Fix nuisance compiler warnings. Ticket #3309 . (CVS 5591)
...
FossilOrigin-Name: 2a365e29944f9fd45ca2903875a8c2e2759c9492
2008-08-22 12:57:08 +00:00
danielk1977
67e3da7ad4
Fix the functionality associated with sqlite3_release_memory() and sqlite3_soft_heap_limit(). It is automatically disabled if the SQLITE_CONFIG_PAGECACHE option is used. (CVS 5576)
...
FossilOrigin-Name: d025866b09352b32a6d35b97144eaad2fafb7165
2008-08-21 12:19:44 +00:00
danielk1977
3084952a6d
Remove leftover PGHDR_TO_DATA macro from pager.c. Ticket #3323 . (CVS 5574)
...
FossilOrigin-Name: 5e9559c0490b9e0395e1da4d36bd33942350978c
2008-08-21 04:35:18 +00:00
drh
41d3027ce8
Comment and function naming tweaks to pcache. No functionality changes. (CVS 5572)
...
FossilOrigin-Name: 4b0e67d397236c740bea88ad3a5912abe896322a
2008-08-20 21:47:45 +00:00
danielk1977
8c0a791a58
Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566)
...
FossilOrigin-Name: cb494e10d71852024647aaa254203579ad438ea9
2008-08-20 14:49:23 +00:00
drh
701bb3b4f0
Additional coverage testing. Fix a segfault following OOM in
...
sqltie3_load_extension(). (CVS 5523)
FossilOrigin-Name: f1e44eb323f05495cbae25113aebcc50d16b40df
2008-08-02 03:50:39 +00:00
danielk1977
d300b8a30b
If xAccess() fails while attempting to detect a hot-journal file, do not assume that the error was an out-of-memory condition. (CVS 5515)
...
FossilOrigin-Name: 70f20425e8197bce74b412f65050d954acb5bde4
2008-08-01 10:50:23 +00:00
shane
0b8d276684
Changed a few loop counters to unsigned ints to remove compiler warnings. (CVS 5449)
...
FossilOrigin-Name: 16f51f9b39c46659b4be4afd7f0d8ec325469e7b
2008-07-22 05:18:00 +00:00
danielk1977
4c99999965
Eliminate some unnecessary IO during a commit in full auto-vacuum mode. (CVS 5426)
...
FossilOrigin-Name: 1d01c02ab04f9cc0eb6a2a46a24d3ea63a617d5b
2008-07-16 18:17:55 +00:00
drh
1013148b1c
Make the btree layer robust when faced with a corrupt database that
...
contains duplicate entries on the freelist. Ticket #3209 . (CVS 5392)
FossilOrigin-Name: 30825f74d60d8ace39bafd06814017ceefeb4fa4
2008-07-11 03:34:09 +00:00
drh
93a960a0a8
Remove unused code. Test coverage enhancements. Modify the algorithm used
...
to select column names for VIEWs of joins so that the constructed column
names omits the underlying table names. (CVS 5386)
FossilOrigin-Name: 636cd723296a8b1709011fdd99b236ffddf3f1b0
2008-07-10 00:32:42 +00:00
drh
bd0b1b50f4
Make check-in (5356) compatible with builds that do not enable memory
...
management. Remove unnecessary code from main.c. Add out-of-memory
tests for sqlite3_complete16(). (CVS 5357)
FossilOrigin-Name: 28f8b6bfcc3e169f8a54a6681395f2c85bf99cab
2008-07-07 19:52:09 +00:00
danielk1977
da8c8f2f8f
Fix an error introduced by (5346). The list could become corrupted when the database was truncated. (CVS 5356)
...
FossilOrigin-Name: fbd320ed27dc8910f5035b41171576b4a37cb8b9
2008-07-07 18:42:40 +00:00
danielk1977
21b7ce6151
Make the Pager.pAll linked-list doubly linked when ENABLE_MEMORY_MANAGEMENT is defined. This is used to speed up sqlite3_release_memory(). (CVS 5346)
...
FossilOrigin-Name: 71d699de366fc9c97d4a5122e2bf754310b9b34a
2008-07-07 11:18:27 +00:00
danielk1977
2d1d86fbbe
Add a mode to the sqlite3_test_control() interface to register hooks called at the beginning and end of "benign malloc failure" blocks. This allows malloc() failure testing to be done using public APIs only. (CVS 5254)
...
FossilOrigin-Name: 56c8af1452dfdc8da858a2411bd6f3663a8a9326
2008-06-20 14:59:51 +00:00
danielk1977
59f8c08ecc
Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234)
...
FossilOrigin-Name: 5059644c4bc5f6679afd939e0bc26080f42a9918
2008-06-18 17:09:10 +00:00
drh
facf030792
Add internal interfaces: PageMalloc/PageFree and ScratchMalloc/ScratchFree. (CVS 5226)
...
FossilOrigin-Name: 3e797d0ffe1af6f7512b3fb7b387418ac05671e0
2008-06-17 15:12:00 +00:00
drh
e5ae5735c0
Continuing work on the new memory allocation subsystem.
...
Added routines for temporary memory allocation. Right the btree
balance mechanism to only do one temporary allocation at a time. (CVS 5220)
FossilOrigin-Name: 65fe7b62cfe7d11cd667681a64c96fe7b2fe5685
2008-06-15 02:51:47 +00:00
danielk1977
ad0132dff1
Change the signature of sqlite3PagerPagecount() so that it can return an error code. (CVS 5195)
...
FossilOrigin-Name: e9f01c01866d302d81bf9ebc484ea6351cbc0f60
2008-06-07 08:58:22 +00:00
danielk1977
8162054b44
Do not call xSync() from zeroJournalHdr() if the Pager.noSync flag is set (i.e. for temp files). (CVS 5194)
...
FossilOrigin-Name: 9f5cbe29226151113e4565fcf8170317afe1b8c6
2008-06-07 05:19:37 +00:00
danielk1977
0f01fdae33
Avoid attempting to delete the journal file of a temporary pager when closing the pager. It will be deleted automatically by the OS layer. (CVS 5193)
...
FossilOrigin-Name: de8b87d65a85c4dabe53281092d9a23555a8e2d6
2008-06-06 16:14:02 +00:00
danielk1977
17b90b5316
Remove the xGetTempname() method from the vfs structure. Temp files are now opened by passing a NULL pointer as the filename to xOpen(). (CVS 5190)
...
FossilOrigin-Name: 5173b3e816c7eb711cd21a9068bbafb9ebb7cff1
2008-06-06 11:11:25 +00:00
danielk1977
861f74563d
Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188)
...
FossilOrigin-Name: 4226ac54beea1b58de8ab7b9d768d999f50438a6
2008-06-05 11:39:11 +00:00
danielk1977
b53e496095
Add "pragma journal_size_limit", used to limit the space consumed by persistent journal files left in the file-system after a transaction has concluded in exclusive (or journal_mode=persist) mode. (CVS 5185)
...
FossilOrigin-Name: 5c59f469d0321c6a2e702ca2c61db012f63aeecc
2008-06-04 06:45:59 +00:00
drh
80105af21b
Add the "volatile" keyword to variables in the Pager structure used for
...
synchronization when memory management is enabled. (CVS 5153)
FossilOrigin-Name: 25b9f3b9b2d996ab4582b22b695c4dbd94d09cc7
2008-05-21 15:38:14 +00:00
danielk1977
71aa7fff2d
Do not attempt to write a master journal name to the (non-existent) journal file in "no-journal" mode. Fix for #3127 . (CVS 5145)
...
FossilOrigin-Name: ffd4e50ab9b14fb7b686681c5e7a37b8355bbfca
2008-05-20 07:05:09 +00:00
danielk1977
dad31b5e11
If a pager is already in the error-state when CommitPhaseOne() is called, exit early. (CVS 5134)
...
FossilOrigin-Name: 443cf1056c73ae89d0efcc7a462455c078b3a4a8
2008-05-15 11:08:07 +00:00
danielk1977
c41cc395c5
Do not write pages to disk to free memory after an IO error occurs. (CVS 5132)
...
FossilOrigin-Name: 10ea8287d090ae610416b4754c0838f13b51fd78
2008-05-15 08:34:54 +00:00
drh
4873d5f614
Make the benign-fault setting recursive. Make all malloc failures
...
during a rollback benign since there is nothing we can do about them. (CVS 5128)
FossilOrigin-Name: a9d1d931358637a6f039723a053098f65530de4b
2008-05-13 13:27:33 +00:00
drh
d138c0168f
Update the pager so that it does not try to commit a transaction if there
...
have been no changes to the database. (CVS 5127)
FossilOrigin-Name: f1ed3689239098e0630e8d61f52971bcdf2801b6
2008-05-13 00:58:18 +00:00
danielk1977
93f7af97a6
Fix a problem with recovering from an IO error in exclusive-locking mode. (CVS 5112)
...
FossilOrigin-Name: 7a44fb965b3477fb78901939ba35d569e5638c19
2008-05-09 16:57:50 +00:00
danielk1977
df2566a33d
Fix some problems with multi-file transactions in persistent journal mode. (CVS 5102)
...
FossilOrigin-Name: e98a7f87f91c62676f94ad5a0c4980ab929ca79d
2008-05-07 19:11:03 +00:00