SQLite

All files named ”src/pcache.h”
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for src/pcache.h

2023-03-19
21:48
[1497ce1b82] part of check-in [6c5d99a813] Increase the size of ref-count values in the pager layer to 64-bits, to avoid any reasonable possiblity of overflowing the counters. There is a performance and memory penality for this. Forum post b741f15a35. (check-in: [6c5d99a813] user: drh branch: trunk, size: 6913)
2023-02-27
21:53
[1ecc890f77] part of check-in [37c5c8aa0e] Make the "unref" operation on database pages a method which is part of the PgHdr object. This is a potential performance optimization. (check-in: [37c5c8aa0e] user: drh branch: unref-opt, size: 6969)
2018-11-22
19:10
[4f87acd914] part of check-in [81629ba914] Fix a problem reading from temp databases in SQLITE_DIRECT_OVERFLOW_READ builds. (check-in: [81629ba914] user: dan branch: trunk, size: 6913)
2017-09-01
12:18
[072f94d292] part of check-in [919863b148] Small size and performance improvement in pcacheManageDirtyList() by not zeroing the PgHdr.pDirtyNext and PgHdr.pDirtyPrev pointers for PgHdr objects that are not on the dirty list. (check-in: [919863b148] user: drh branch: trunk, size: 6828)
2017-05-31
03:20
[521bb9610d] part of check-in [326e63d71e] Reorder fields in the PgHdr object for a performance increase. (check-in: [326e63d71e] user: drh branch: trunk, size: 6690)
2016-05-13
15:22
[2cedcd8407] part of check-in [771c5411e9] Remove the unused PGHDR_NEED_READ flag. Add invariant checking (during SQLITE_DEBUG builds only) for the PgHdr object. (check-in: [771c5411e9] user: drh branch: trunk, size: 6601)
2016-05-11
23:54
[33b40350df] part of check-in [ad601c7962] For in-memory databases, it does not matter if pcache entries are marked "clean" or "writable". (check-in: [ad601c7962] user: drh branch: pager-dev, size: 6550)
2016-04-21
15:24
[6b865be765] part of check-in [49aec9718d] Add a function prototype in order to fix a compiler warning. (check-in: [49aec9718d] user: drh branch: tempfiles-25, size: 6541)
2016-04-13
16:52
[60bc9893bf] part of check-in [f6babf2920] On commit, flush dirty temp-file pages only if the file is already open and 25% or more of the cache is dirty. (check-in: [f6babf2920] user: dan branch: tempfiles-25, size: 6499)
2016-01-09
16:39
[4d0ccaad26] part of check-in [5d113aef2c] If a single page is written to the wal file more than once, have each subsequent copy overwrite the original frame. (check-in: [5d113aef2c] user: dan branch: wal-overwrite-frames, size: 6385)
2015-11-12
14:57
[1ff11adce6] part of check-in [549d42be0d] First attempt at enhancing the "PRAGMA cache_spill" statement to accept a cache threashold size. (check-in: [549d42be0d] user: drh branch: cache_spill=N, size: 6320)
2015-06-29
18:29
[9968603796] part of check-in [7c4ef7b7c8] Add the PGHDR_WRITEABLE bit for PgHdr.flags which is used to distinguish between pages that are on the dirty list and pages that are safe to modify. (check-in: [7c4ef7b7c8] user: drh branch: trunk, size: 6065)
04:21
[445374bcf2] part of check-in [8619fc346d] Add the new PGHDR_CLEAN bit to PgHdr.flags in pcache.c. This bit is always the opposite of PGHDR_DIRTY. Use the extra bit to avoid a comparison for a small performance boost. (check-in: [8619fc346d] user: drh branch: trunk, size: 6048)
2014-11-04
12:11
[b44658c9c9] part of check-in [6eb03e62a3] Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config(). (check-in: [6eb03e62a3] user: drh branch: trunk, size: 5985)
2014-08-27
23:18
[9b559127b8] part of check-in [bdb6e4978d] Refactor the sqlite3PcacheFetch() routine into three separate routines, which are significantly faster overall and about 100 bytes smaller in size as well. (check-in: [bdb6e4978d] user: drh branch: trunk, size: 5884)
2014-08-26
15:06
[80a9c3f7d7] part of check-in [f1f94a971e] Change the page cache so that a new sqlite3_pcache object is allocated as soon as the page cache is opened, not delayed until the first fetch request. This give a noticable performance boost. The interface between pager and the page cache has changed slightly, which might break ZIPVFS. (check-in: [f1f94a971e] user: drh branch: trunk, size: 5732)
2013-03-14
18:34
[a5e4f5d9f5] part of check-in [6f21d9cbf5] Use mmap() to read from the database file in rollback mode. This branch is unix only for now. (check-in: [6f21d9cbf5] user: dan branch: experimental-mmap, size: 5734)
2012-02-02
15:50
[1b5dcc3dc8] part of check-in [0bc594e861] Data structure cleanup. Remove unused fields. Rearrange other files for tighter packing and reduced memory usage. (check-in: [0bc594e861] user: drh branch: trunk, size: 5660)
2011-11-16
19:29
[b1d8775a9b] part of check-in [3f58e7c889] Add the sqlite3_db_release_memory() interface and the shrink_memory pragma. (check-in: [3f58e7c889] user: drh branch: trunk, size: 5660)
2011-11-14
01:55
[f8a98a37dd] part of check-in [09be42d5fa] Begin making experimental changes to use mmap() for reading content from a database. The code compiles, but crashes on the test suite. (check-in: [09be42d5fa] user: drh branch: mmap-experimental, size: 5648)
2011-11-08
20:08
[c770382f9f] part of check-in [c275c9d323] Experimental change to the pcache interface to allow page buffers to be allocated separately from their associated container structures. (check-in: [c275c9d323] user: dan branch: experimental-pcache, size: 5563)
2009-11-10
01:30
[c683390d50] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f649] user: drh branch: trunk, size: 5509)
2009-07-25
11:46
[435ef32419] part of check-in [64c7afc704] Add files that should have gone in with the previous checkin. (CVS 6935) (check-in: [64c7afc704] user: danielk1977 branch: trunk, size: 5579)
2009-01-20
17:06
[9b927ccc5a] part of check-in [12f7346c13] Big change to make pager.c easier to follow. Unused variables removed, comments improved, etc. (CVS 6197) (check-in: [12f7346c13] user: danielk1977 branch: trunk, size: 5548)
2009-01-16
16:23
[00adba50e5] part of check-in [a353c1ab37] Revert (6187). (CVS 6188) (check-in: [a353c1ab37] user: danielk1977 branch: trunk, size: 5547)
15:21
[a56b8998f5] part of check-in [aa67fd0cdb] This commit is an error. Reverted by (6188). (CVS 6187) (check-in: [aa67fd0cdb] user: danielk1977 branch: trunk, size: 5548)
2008-11-19
16:52
[f20c3e82dd] part of check-in [d1abe8a1c9] Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927) (check-in: [d1abe8a1c9] user: danielk1977 branch: trunk, size: 5547)
2008-11-13
14:28
[b6feb183de] part of check-in [47866d6708] Add an API to support custom page cache implementations. (CVS 5899) (check-in: [47866d6708] user: danielk1977 branch: trunk, size: 5692)
2008-10-17
18:51
[2caf2deb6c] part of check-in [39ebf01add] 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) (check-in: [39ebf01add] user: danielk1977 branch: trunk, size: 6260)
2008-10-11
17:42
[974d8ba609] part of check-in [977ae12c36] Conditionally omit prototypes in pcache.h when the corresponding routines are not used. Ticket #3430. (CVS 5805) (check-in: [977ae12c36] user: drh branch: trunk, size: 6620)
2008-09-29
11:49
[28d9ce2d66] part of check-in [40425e9342] 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) (check-in: [40425e9342] user: danielk1977 branch: trunk, size: 6523)
2008-09-18
17:34
[0b6871e820] part of check-in [6b998f3066] Avoid parsing the structure of b-tree pages (in sqlite3BtreeInitPage) more than is necessary. (CVS 5720) (check-in: [6b998f3066] user: danielk1977 branch: trunk, size: 6547)
2008-09-17
20:06
[deddea69ba] part of check-in [a7fd9e622b] 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) (check-in: [a7fd9e622b] user: drh branch: trunk, size: 6546)
2008-08-29
09:10
[53730c3331] part of check-in [4b12922dcb] If a page is made eligible for recycling when more than the configured maximum number of pages are allocated, free it immediately instead of adding it to the LRU list. (CVS 5638) (check-in: [4b12922dcb] user: danielk1977 branch: trunk, size: 6547)
2008-08-28
02:26
[bd373ee3e4] part of check-in [da1777259f] Miscellaneous cleanup in the new pcache code. (CVS 5629) (check-in: [da1777259f] user: drh branch: trunk, size: 6492)
2008-08-27
15:16
[7a50b77f06] part of check-in [9e9325997e] Use a bitvec object to store the set of pages with the 'always-rollback' property for a transaction. (CVS 5622) (check-in: [9e9325997e] user: danielk1977 branch: trunk, size: 5987)
2008-08-26
18:05
[3531f83e17] part of check-in [9e511e161b] 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) (check-in: [9e511e161b] user: danielk1977 branch: trunk, size: 6057)
2008-08-23
18:53
[f03fc3b824] part of check-in [a323bd29a6] Instead of marking a page as clean when sqlite3PagerDontWrite() is called, set a dedictated flag - PGHDR_DONT_WRITE. (CVS 5604) (check-in: [a323bd29a6] user: danielk1977 branch: trunk, size: 6732)
2008-08-22
16:22
[1457e4e7ef] part of check-in [93dbc5427b] 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) (check-in: [93dbc5427b] user: danielk1977 branch: trunk, size: 6659)
2008-08-21
20:21
[d2becbe725] part of check-in [80d6a31cb3] Move date+time functions to start-time initialization. Additional start-time function cleanup. (CVS 5585) (check-in: [80d6a31cb3] user: drh branch: trunk, size: 6740)
12:19
[aef1dedd7f] part of check-in [d025866b09] 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) (check-in: [d025866b09] user: danielk1977 branch: trunk, size: 6749)
2008-08-20
14:49
Added: [71ade7a84e] part of check-in [cb494e10d7] 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) (check-in: [cb494e10d7] user: danielk1977 branch: trunk, size: 6711)