aboutsummaryrefslogtreecommitdiff
path: root/src/pcache.c
Commit message (Collapse)AuthorAge
* Add extra assert() statements to the fixes on this branch.dan2024-07-17
| | | FossilOrigin-Name: 81b6360050eea95e4367de1b41b5864a640b4d1c5c8fc3bea3b96ed770cb0325
* The pageOnDirtyList() assertion is too slow even for debugging builds, fordrh2023-08-23
| | | | | | some corner cases. It makes the query appear to hang. So make it an EXPENSIVE_ASSERT instead. FossilOrigin-Name: bb9dcdaf3244c4fc6872850a82b80c469203911e2f6e3a3211e508be39b59fa3
* Add a C-source spell-checking facility. make misspell (on Nix)larrybr2023-06-07
| | | FossilOrigin-Name: 26c1bb4bd9e9f56613c3aa87407a7f562fd4ebde5bfd6dece02078001d9a45f8
* Improved rebustness of the pcache tracing logic.drh2023-04-19
| | | FossilOrigin-Name: 0a43235b8368a0996d1856c4e956786a5321275458cb9179ce818aa47bb824ed
* Fix a debugging printf() in pcache.c. This only comes up on custom builds.drh2023-04-19
| | | FossilOrigin-Name: f2d6756731caadf9a30214ab7d19717a2ca1dae2652bcc6b211f6b0830362240
* Increase the size of ref-count values in the pager layer to 64-bits, to avoiddrh2023-03-19
| | | | | | | any reasonable possiblity of overflowing the counters. There is a performance and memory penality for this. [forum:/forumpost/b741f15a35|Forum post b741f15a35]. FossilOrigin-Name: 6c5d99a813e8498c2ea91383ac8886a43eaf47023919c03900e893640c03778d
* An improved technique for ensuring that the Rekey() operation does notdrh2022-09-07
| | | | | | | | overwrite an existing page number. This approach does not change the semantics of the underlying pluggable pcache and it is easier to prove correct. This replaces the changes at [aadd38f99a3e5abc] and [81cff9f1955874aa]. FossilOrigin-Name: 7dbddde79e3ca1b81e00288616fc27434698ce6dcb47714728fce8602ae91f45
* If sqlite3PcacheMove() really performs a swap, then be sure to renumber thedrh2022-09-02
| | | | | second page. FossilOrigin-Name: 81cff9f1955874aade55daa94263f58f06d966bd51ad558755f92777069a7347
* More assert() statements in the page cache.drh2022-08-27
| | | FossilOrigin-Name: 7c96a56c0d1de966844da6c5a84c0cd6066130a10724797ce6f228a9182d9b85
* Ensure that every pcache page always has either the PGHDR_DIRTY or thedrh2022-08-27
| | | | | | PGHDR_CLEAN bit set, even during transient page reshuffling during btree balancing. FossilOrigin-Name: e67f03c166277951725c194674c84da61c152a5820aa6df55a726f7dda838e92
* Some branches are no longer reachable after the previous change. Mark themdrh2022-03-21
| | | | | accordingly. Also improve comments. FossilOrigin-Name: 88d69f60cceb22bde42cfe43c23259c7bad47b8e06f918a79bd089a77b480d46
* Fix slightly-incorrect assert() statements.drh2022-03-01
| | | | | [forum:/forumpost/f1e83b77b5ff37db|Forum post f1e83b77b5ff37db] FossilOrigin-Name: 3c9f5c9defd7d36684132ae4ade9db2e2148dad4bd91bfe9374620ecafc35348
* Fix an assertion fault in pcache introduced by [4bc93658aa563f2f] anddrh2021-09-03
| | | | | detected by OSSFuzz. Test case in TH3. FossilOrigin-Name: 2262a49467fa56c386080dac3e99a66e16c1700e138dba74db66e7b93ae76bf5
* Add new assert() statements in an attempt to help static analyzers avoiddrh2019-07-16
| | | | | false-positives. FossilOrigin-Name: 9e66458592d40fbd96ea5f21339573110ca1cfe328238a020c9420a87d35dd72
* Adjust requirements marks and add new requirements tests.drh2019-06-12
| | | FossilOrigin-Name: ebb81dad1f43dac4636cd44d4055d1d4b198c675f73e23c5a2d8d992ae27fe1f
* Fix a problem reading from temp databases in SQLITE_DIRECT_OVERFLOW_READdan2018-11-22
| | | | | builds. FossilOrigin-Name: 81629ba91475938b6ad528e7b1dbef4ad22239782bb2e9c1bb59413aba11da87
* Comment typo fixed. No code changes.drh2018-09-21
| | | FossilOrigin-Name: 7e68cdab20f50cf776b92b2138bb4aba7cb070f2bd855dd4cbbf46d447f2dc88
* Fix a typo causing SQLITE_LOG_CACHE_SPILL builds to fail.dan2018-03-12
| | | FossilOrigin-Name: 0171d4a71ca7911a9fd409a42eeed0eda4521b6e48df5cd058364c0a736313b7
* Remove unnecessary NEVER() and ALWAYS() conditionals.drh2017-10-31
| | | FossilOrigin-Name: 1c80c75d4be2f3d44fb18bb4c07eccac2aba79b688215a741317dfc47dc7c2ce
* Remove an obsolete optimization in pcache that due to more recent changesdrh2017-09-01
| | | | | was recently making the code a little slower. FossilOrigin-Name: c4e7e175eecfd79015f4fae99618dfce6baf97c21bf3c909ea535d4e12dcaaad
* Small size and performance improvement in pcacheManageDirtyList() by notdrh2017-09-01
| | | | | | zeroing the PgHdr.pDirtyNext and PgHdr.pDirtyPrev pointers for PgHdr objects that are not on the dirty list. FossilOrigin-Name: 919863b14859d958d6c078097faae02070c7bd082e2814cf3f84bd84921e4419
* Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" fordrh2017-02-13
| | | | | consistency. FossilOrigin-Name: 670f10b24230863688270d12ac519609ade2302b
* In the pager, avoid checking for the illegal page number 0 except when creatingdrh2016-12-13
| | | | | a new page. FossilOrigin-Name: dee20ba982125ea98c280ad1571789af0f393903
* Avoid unnecessary zeroing of fields in the MemPage object that are goingdrh2016-12-09
| | | | | to be reinitialized before use anyhow. A smaller and faster binary results. FossilOrigin-Name: 01ada3d1068476f90dcae02cb089001ea4bcc23d
* Reduce the width of a memset() to avoid double-initializing some variables.drh2016-10-01
| | | FossilOrigin-Name: 34edbfd12d6cfa6bbfa30eef9276a4865eadc869
* Fix typo in comment.mistachkin2016-05-20
| | | FossilOrigin-Name: 9db8f2147339ba519c4ec32e34068e9f4a25e099
* Optimizations to link list merge sort code in vdbesort.c, pcache.c, anddrh2016-05-20
| | | | | | rowset.c. Resulting binaries are 10 bytes smaller and use 0.03% fewer CPU cycles. FossilOrigin-Name: 9033afbb31b28a8ad6856ac1f773d8e83bc9ec1c
* Improvements to a comment in the pcache.c file. No changes to code.drh2016-05-13
| | | FossilOrigin-Name: b369980f0c4550a9034833caa2c7c85d6030f5ff
* Remove the unused PGHDR_NEED_READ flag. Add invariant checking (duringdrh2016-05-13
| | | | | SQLITE_DEBUG builds only) for the PgHdr object. FossilOrigin-Name: 771c5411e9ebcad00fb4b97556b519488284b87b
* Additional debugging and tracing logic for pcache.c, turned off by defaultdrh2016-05-13
| | | | | using an "#if 0". FossilOrigin-Name: 32a62e3bd46cf58586617d3f8b1a971c91df205e
* Add extra OPTIMIZATION-IF-FALSE comments where required to pcache.c.dan2016-05-12
| | | FossilOrigin-Name: 9d55b8f541de43deb82d460d32005fd62f5430b2
* For in-memory databases, it does not matter if pcache entries are markeddrh2016-05-12
|\ | | | | | | | | "clean" or "writable". FossilOrigin-Name: 06c1e27ca868f247f8c27b03eb19aac004f28650
| * For in-memory databases, it does not matter if pcache entries are markeddrh2016-05-11
| | | | | | | | | | "clean" or "writable". FossilOrigin-Name: ad601c7962a60a11699cf31f1faee09b95d5c710
* | Remove an unnecessary call to sqlite3PcacheMakeClean() inside of the ROLLBACKdrh2016-05-12
| | | | | | | | | | logic. FossilOrigin-Name: 0dc50d9915cd88916229ca5c3834de82fa16f017
* | Add a missing OPTIMIZATION-IF-FALSE comment to pcache.c.dan2016-05-12
|/ | | FossilOrigin-Name: bc202e5b418d5a57bfc766883c4417c94829d96e
* Remove a redundant condition from pcache.c. Add an OPTIMIZATION-IF-TRUE ↵dan2016-05-11
| | | | | comment to another condition that requires it. FossilOrigin-Name: 3bfd2621d13b4f842f3af6d35519653f4eb8cad7
* Remove some a small amount of redundant code related to PCache.pSynced from ↵dan2016-05-11
| | | | | pcache.c. FossilOrigin-Name: 9cc8cad78fdfe044ad6726ebfe6909c1e242fa55
* Add pcache tracing macros. Off by default. Requires changing an "#if 0"drh2016-05-11
| | | | | and recompiling to enable. FossilOrigin-Name: d9313d19c75a62f558b3df6b15595b15bbfa0b62
* sqlite3PCachePerecentDirty() should return 0 if the pcache is empty.drh2016-04-18
| | | FossilOrigin-Name: 85f3d80eb7319754792eef76996b2c740a2b0073
* On commit, flush dirty temp-file pages only if the file is already open and ↵dan2016-04-13
| | | | | 25% or more of the cache is dirty. FossilOrigin-Name: f6babf2920340f25815c0a3c58de1e902c2f5542
* Defer opening the file used for the temp database (where CREATE TEMP TABLE ↵dan2016-04-05
| | | | | tables are stored) until the database is too large to reside entirely within the cache. There are likely still problems on this branch. FossilOrigin-Name: be5a549eba6cf8e29cb6b9824fd6d0db9d03ca7f
* Enhance ability to debug out-of-memory errors.mistachkin2016-02-13
| | | FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
* Test cases. Minor problems fixed. All appears to work now.drh2015-11-12
| | | FossilOrigin-Name: 9a431362dccbc9b8f93375f30a3b8955903cca79
* First attempt at enhancing the "PRAGMA cache_spill" statement to accept adrh2015-11-12
| | | | | cache threashold size. FossilOrigin-Name: 549d42be0dac87dc04c3eeccfdc60615c3a6ad3f
* Change the pcache module to keep track of the total number of references todrh2015-09-03
| | | | | | all pages rather than the number of pages references, for a performance improvement and size reduction. FossilOrigin-Name: f00a9e1e998c4bd249a45444dc2d71a7e4903b8b
* Optimization to the sqlite3PcacheFetch() logic.drh2015-06-30
| | | FossilOrigin-Name: d9a0481ce0fd9824b1566f182d68ec46ef091b1b
* Add the PGHDR_WRITEABLE bit for PgHdr.flags which is used to drh2015-06-29
| | | | | | distinguish between pages that are on the dirty list and pages that are safe to modify. FossilOrigin-Name: 7c4ef7b7c8744af19075bb96d1e0b63e35978ed1
* Add the new PGHDR_CLEAN bit to PgHdr.flags in pcache.c. This bit is alwaysdrh2015-06-29
| | | | | | the opposite of PGHDR_DIRTY. Use the extra bit to avoid a comparison for a small performance boost. FossilOrigin-Name: 8619fc346d9a5a66a3c4566b4cc032b6b6bf73fd
* Simplify the pcache by not keeping continuous track of page 1 but insteaddrh2015-06-26
| | | | | just loading page 1 on the rare occasions when it is actually needed. FossilOrigin-Name: 015302f15e46a087ec92f3644c6741600dbf4306
* Remove all references to SQLITE_DEFAULT_TEMP_CACHE_SIZE. Add requirementsdrh2015-02-27
| | | | | marks related to cache_size changing. FossilOrigin-Name: 766ad65025a9d5815300978e6e349f5af5db6012