Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History for src/pcache1.c
2025-03-15
| ||
20:32 | [69b3a3e00e] part of check-in [b1860b6372] Merge the latest trunk enhancements into the bedrock branch via the wal2 intermediary. (check-in: [b1860b6372] user: drh branch: bedrock, size: 44701) | |
2025-03-05
| ||
17:12 | [131ca0daf4] part of check-in [41ec85637a] Use AtomicRead() and AtomicWrite() to access the pcache1_g.bUnderPressure global, to forestall unnecessary angst from thread analyzers. (check-in: [41ec85637a] user: drh branch: trunk, size: 44089) | |
2025-02-18
| ||
14:48 | [dc4e5b9094] part of check-in [c09656c621] Merge the latest trunk enhancements into the bedrock branch. (check-in: [c09656c621] user: drh branch: bedrock, size: 44922) | |
2025-02-17
| ||
17:33 | [78d4935e51] part of check-in [215650a5a1] Code changes that make it easier to prove that no 32-bit integer overflows happen during memory allocation. No problems fixed; this change is just to make future maintenance easier. (check-in: [215650a5a1] user: drh branch: trunk, size: 44310) | |
2024-10-25
| ||
18:24 | [437282ad81] part of check-in [fcd68bebf2] Reduce the number of malloc()/free() calls that may occur when a BEGIN CONCURRENT transaction is committed. (check-in: [fcd68bebf2] user: dan branch: cf8f1552-commit-instr, size: 45268) | |
2024-08-01
| ||
00:47 | [430b86e10b] part of check-in [c1f616ce80] Merge the latest trunk enhancements into the bedrock branch. (check-in: [c1f616ce80] user: drh branch: bedrock, size: 44935) | |
2024-07-17
| ||
16:27 | [49516ad771] part of check-in [81b6360050] Add extra assert() statements to the fixes on this branch. (check-in: [81b6360050] user: dan branch: alignment-fixes, size: 44323) | |
2024-07-13
| ||
16:53 | [a5d9c25802] part of check-in [2212d7488e] Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned. (check-in: [2212d7488e] user: dan branch: alignment-fixes, size: 44212) | |
2023-06-22
| ||
14:40 | [181baf6271] part of check-in [0551b79b17] Merge the latest trunk enhancements into the bedrock branch. (check-in: [0551b79b17] user: drh branch: bedrock, size: 44779) | |
2023-06-07
| ||
08:40 | [602acb23c4] part of check-in [26c1bb4bd9] Add a C-source spell-checking facility. make misspell (on Nix) (check-in: [26c1bb4bd9] user: larrybr branch: spell-check, size: 44167) | |
2023-02-07
| ||
16:23 | [f3d06b0c1b] part of check-in [f8c1f9c44b] Fix an pcache memory leak that might occur due to the munmap() enhancement of [754f331614f6f6e6] if "PRAGMA shrink_memory" is used. (check-in: [f8c1f9c44b] user: drh branch: bedrock, size: 44825) | |
2023-02-02
| ||
20:27 | [9f51e80b6d] part of check-in [754f331614] Instead of free()ing them, retain allocated page buffers on an internal per-connection reuse-list when a page-cache is reset. (check-in: [754f331614] user: dan branch: bedrock, size: 44586) | |
2023-01-25
| ||
17:24 | [6b05f45704] part of check-in [acea12d90f] Change the instrumentation messages on this branch so that they contain "v=7" instead of "v=6". (check-in: [acea12d90f] user: dan branch: schema-version-instr, size: 45065) | |
17:09 | [b69cbeca75] part of check-in [1e4cfd2f30] Experimental patch to put page buffers on an internal per-connection list for reuse instead of free()ing them when the page-cache is reset. (check-in: [1e4cfd2f30] user: dan branch: schema-version-instr, size: 45065) | |
2023-01-19
| ||
21:05 | [69a2eed9ea] part of check-in [a057f9cb2c] Add test logging around the pcache1FreePage() loop in pcache1TruncateUnsafe(). (check-in: [a057f9cb2c] user: dan branch: schema-version-instr, size: 44692) | |
2022-09-10
| ||
13:50 | [3e6267b17b] part of check-in [aa6a5b7297] Enhance the b-tree page sorting code to ensure that sqlite3PagerRekey() never overloads a page number and uses only the PENDING_BYTE page for temporary storage. (check-in: [aa6a5b7297] user: dan branch: branch-3.39, size: 44032) | |
2022-09-07
| ||
20:14 | [cfffa35ee3] part of check-in [461511cc99] Enhance an assert() to impose for tighter constraints on the operation of pcache. (check-in: [461511cc99] user: drh branch: branch-3.39, size: 44030) | |
20:11 | [dee95e3cd2] part of check-in [42105eb43a] Enhance an assert() to impose for tighter constraints on the operation of pcache. (check-in: [42105eb43a] user: drh branch: trunk, size: 44213) | |
19:50 | [ae71c0d92f] part of check-in [cd1e40064c] Ensure that the Rekey() operation does not overwrite an existing page number. (check-in: [cd1e40064c] user: drh branch: branch-3.39, size: 44030) | |
19:28 | [5996285f0a] part of check-in [7dbddde79e] An improved technique for ensuring that the Rekey() operation does not 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]. (check-in: [7dbddde79e] user: drh branch: trunk, size: 44213) | |
2022-09-02
| ||
15:19 | [0c57c57bab] part of check-in [04eb9f97b9] If sqlite3PcacheMove() moves a page on top of another, swap the two pages, moving the other back to the page number of the original. (check-in: [04eb9f97b9] user: drh branch: branch-3.39-pcache, size: 44226) | |
14:29 | [849a26ea9d] part of check-in [aadd38f99a] Enhance the pcache1 implementation so that during an xRekey operation if another page already exists at the destination, that other page gets moved to the source key. (check-in: [aadd38f99a] user: drh branch: trunk, size: 44567) | |
2022-08-31
| ||
15:04 | [5cde56d6bb] part of check-in [5007742886] Enhance the b-tree page sorting code to ensure that sqlite3PagerRekey() never overloads a page number and uses only the PENDING_BYTE page for temporary storage. (check-in: [5007742886] user: drh branch: trunk, size: 44198) | |
2022-08-30
| ||
16:54 | [31c0ae1ee1] part of check-in [dd017bb1b3] Improved comments in pcache1.c. No changes to code. (check-in: [dd017bb1b3] user: drh branch: trunk, size: 43961) | |
2022-08-09
| ||
14:28 | [0b4245cd49] part of check-in [60947da687] Omit the (undocumented) SQLITE_PCACHE_SEPARATE_HEADER compile-time option. (check-in: [60947da687] user: drh branch: trunk, size: 43732) | |
2021-08-09
| ||
19:54 | [54881292a9] part of check-in [4bc93658aa] Fix a compiler warning in pcache1. Reduce the maximum size of a pcache1 cache to 2147418112 pages. (check-in: [4bc93658aa] user: drh branch: trunk, size: 43778) | |
18:07 | [00541fef31] part of check-in [bf9d70fc2f] Ensure that the pcache1 cache size does not get so big that it overflows the integer that is keeping track of the cache size. (check-in: [bf9d70fc2f] user: drh branch: trunk, size: 43741) | |
2021-02-28
| ||
08:24 | [388304fd2d] part of check-in [4cb2ea5795] Initialize extra field in PgHdr1 to fix an msan complaint. (check-in: [4cb2ea5795] user: dan branch: msan-fix, size: 43604) | |
2020-07-29
| ||
16:18 | [859d8a07c2] part of check-in [a80ae2c98b] Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (check-in: [a80ae2c98b] user: drh branch: typos, size: 43530) | |
2020-01-15
| ||
12:49 | [33a0577ec7] part of check-in [dadedf41c7] Merge all recent enhancements and fixes from trunk into the apple-osx branch. (check-in: [dadedf41c7] user: drh branch: apple-osx, size: 43508) | |
2019-12-13
| ||
21:24 | [6596e10baf] part of check-in [c29fc21288] Patch to the page cache to avoid harmless pointer arithmetic that due to bugs in the STD-C spec is technically UB. This is to fix a harmless UBSAN complaint that OSSFuzz is hitting. (check-in: [c29fc21288] user: drh branch: trunk, size: 43526) | |
2019-09-16
| ||
12:02 | [80e8d7fcf0] part of check-in [a95191deab] Merge the latest changes from trunk into the apple-osx branch. (check-in: [a95191deab] user: drh branch: apple-osx, size: 43463) | |
2019-07-16
| ||
19:44 | [62714cbd1b] part of check-in [9e66458592] Add new assert() statements in an attempt to help static analyzers avoid false-positives. (check-in: [9e66458592] user: drh branch: trunk, size: 43481) | |
2019-07-08
| ||
20:59 | [c7555fac44] part of check-in [de88ed862e] Merge recent enhancements from trunk into apple-osx. (check-in: [de88ed862e] user: drh branch: apple-osx, size: 43431) | |
2019-07-04
| ||
16:05 | [e6373934cd] part of check-in [5ea3f6fc88] Fix a race condition that could occur in SQLITE_ENABLE_MEMORY_MANAGEMENT builds when two threads simultaneously open the first two database connections in the process. (check-in: [5ea3f6fc88] user: dan branch: trunk, size: 43449) | |
2019-04-15
| ||
14:49 | [b041f5541d] part of check-in [378230ae7f] Bring in the latest enhancements from trunk. (check-in: [378230ae7f] user: drh branch: apple-osx, size: 43431) | |
2019-04-14
| ||
00:34 | [be64b2f390] part of check-in [cd08442731] Fix an obsolete comment and other minor issues from code inspection. (check-in: [cd08442731] user: drh branch: trunk, size: 43449) | |
2019-02-07
| ||
18:49 | [8035ab76e7] part of check-in [628291641f] Merge the offical 3.27.0 release. (check-in: [628291641f] user: drh branch: apple-osx, size: 43593) | |
2019-02-06
| ||
20:49 | [a72804486d] part of check-in [a505e34d4e] Ensure all bytes of the PgHdr1 structure are initialized. This avoids a valgrind error when running corruptI.test. (check-in: [a505e34d4e] user: dan branch: trunk, size: 43611) | |
2019-01-17
| ||
15:47 | [31f019eba7] part of check-in [475a179a27] Sync up with the latest enhancements on trunk. (check-in: [475a179a27] user: drh branch: apple-osx, size: 42889) | |
2019-01-09
| ||
14:49 | [fffd5250a3] part of check-in [383437be27] Adjustments to the page cache to try to avoid harmless TSAN warnings. (check-in: [383437be27] user: drh branch: trunk, size: 42907) | |
2018-12-14
| ||
16:20 | [ddc9fc7d98] part of check-in [8ba3d9f380] Back out the expansion of the temporary buffer size from [32754ca6f86da816] and replace it with an explicit test for buffer overreads. (check-in: [8ba3d9f380] user: drh branch: trunk, size: 42863) | |
13:35 | [4ac06e82e8] part of check-in [32754ca6f8] Expand the size of the temporary page used during btree rebalancing by a few bytes, to avoid problems with small buffer overreads that can occur on corrupted database files. (check-in: [32754ca6f8] user: drh branch: trunk, size: 42868) | |
2018-12-05
| ||
18:28 | [79fa98a1d1] part of check-in [edfc2acfcd] Merge enhancements and the ALTER TABLE bug fix from trunk. (check-in: [edfc2acfcd] user: drh branch: apple-osx, size: 42613) | |
2018-12-03
| ||
01:58 | [ad0ffc5b35] part of check-in [15824ccda0] Remove two lines of unnecessary code, for a very small performance increase and size decrease. (check-in: [15824ccda0] user: drh branch: trunk, size: 42631) | |
2018-11-30
| ||
18:22 | [526fbd54df] part of check-in [2c76ce4f42] Merge the pre-3.26.0 fixes from trunk. (check-in: [2c76ce4f42] user: drh branch: apple-osx, size: 42395) | |
2018-11-28
| ||
11:09 | [bf9fcea656] part of check-in [5c040fdb01] Follow-up to [0bf0fd242b93c3bd30]: only reset the pager when adding a new codec, not when overwriting an existing codec. Also, improve a comment in the pcache1 subsystem. (check-in: [5c040fdb01] user: drh branch: trunk, size: 42413) | |
2017-09-09
| ||
06:10 | [77a8848baa] part of check-in [6a0b9d9d4e] Merge trunk enhancements (check-in: [6a0b9d9d4e] user: drh branch: apple-osx, size: 42308) | |
2017-08-30
| ||
04:44 | [716975564c] part of check-in [ffd437da95] Small performance optimization in pcache1. (check-in: [ffd437da95] user: drh branch: trunk, size: 42326) | |
2017-08-28
| ||
17:30 | [af5395536c] part of check-in [5cd9ff87d8] Avoid unnecessary mutexes in the pcache1 implementation in the common case where no auxiliary page cache memory is configured. (check-in: [5cd9ff87d8] user: drh branch: begin-concurrent-branch-3.19, size: 42096) | |
16:11 | [ad5bc71727] part of check-in [1ba051e34d] Avoid unnecessary mutexes in the pcache1 implementation in the common case where no auxiliary page cache memory is configured. (check-in: [1ba051e34d] user: drh branch: trunk, size: 42119) | |
2017-08-27
| ||
10:55 | [e7114d2e80] part of check-in [c93298d5ae] Instrumentation and changes in an effort to reduce thread contention. (check-in: [c93298d5ae] user: drh branch: reduced-thread-contention, size: 42104) | |
2017-08-05
| ||
15:49 | [0b793738b5] part of check-in [422cd9f394] Microoptimization in pcache1.c makes the code slightly smaller and faster. (check-in: [422cd9f394] user: drh branch: trunk, size: 42096) | |
2017-04-08
| ||
00:25 | [4d201a7ee8] part of check-in [dd16439ea1] Merge the latest trunk changes. (check-in: [dd16439ea1] user: drh branch: apple-osx, size: 42055) | |
2017-03-29
| ||
17:06 | [1195a21fe2] part of check-in [06c2b685e1] Slightly smaller and faster implementation of pcache1InitBulk(). (check-in: [06c2b685e1] user: drh branch: trunk, size: 42073) | |
15:18 | [7eaf916c98] part of check-in [5d902b7fea] Fix the sqlite3_release_memory() interface so that it works even if SQLITE_DEFAULT_PCACHE_INITSZ is non-zero. (check-in: [5d902b7fea] user: drh branch: trunk, size: 42087) | |
2016-12-30
| ||
13:40 | [26a72c84d7] part of check-in [5550e815dd] Improved detection of zero page numbers in the page cache. (check-in: [5550e815dd] user: drh branch: pcache1-zero-page, size: 42095) | |
2016-11-04
| ||
19:09 | [6d8c7bc6bb] part of check-in [0e5ffd9123] Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. (check-in: [0e5ffd9123] user: drh branch: apple-osx, size: 42069) | |
2016-10-13
| ||
12:56 | [e3967219b2] part of check-in [4d66ac98de] Take care to avoid integer overflow when doing the initial page cache allocation with an excessively large cache_size setting. (check-in: [4d66ac98de] user: drh branch: trunk, size: 42087) | |
2016-09-07
| ||
18:20 | [42fc991623] part of check-in [00759af053] Merge recent enhancements from trunk. (check-in: [00759af053] user: drh branch: apple-osx, size: 42064) | |
2016-08-10
| ||
15:02 | [4bb7a6a530] part of check-in [059f4e2efe] Tweaks to pcache1TruncateUnsafe() to make it slightly smaller and faster and easier to test. (check-in: [059f4e2efe] user: drh branch: trunk, size: 42082) | |
11:50 | [dc8a6052e5] part of check-in [b07a26df06] Fix pcache1TruncateUnsafe() run faster for the case where iLimit is very close to iMaxKey. (check-in: [b07a26df06] user: drh branch: trunk, size: 42088) | |
03:35 | [04279e6cf5] part of check-in [9ab53605d5] Try to make pcache1TruncateUnsafe() run faster for the case where iLimit is very close to iMaxKey. (check-in: [9ab53605d5] user: drh branch: debug, size: 34941) | |
02:54 | [938bc83017] part of check-in [5980e625db] Remove all timers and other debugging logs except for the one timer on pcache1TruncateUnsafe(). (check-in: [5980e625db] user: drh branch: debug, size: 34119) | |
2016-08-09
| ||
11:44 | [eeb485caa4] part of check-in [42ce53f648] Add another timer on pcache1TruncateUnsafe(). (check-in: [42ce53f648] user: drh branch: debug, size: 34180) | |
11:23 | [12c155d0cd] part of check-in [7d0af4b53c] Add a debug timer to pcache1Truncate(). Change the formatting of some other messages to make them easier to read. (check-in: [7d0af4b53c] user: dan branch: debug, size: 33961) | |
2016-04-29
| ||
15:52 | [9c2f433344] part of check-in [81b76901e6] Merge enhancements from trunk, and in particular the TEMP file deferred I/O enhancements. (check-in: [81b76901e6] user: drh branch: apple-osx, size: 41248) | |
2016-04-26
| ||
18:58 | [7f51d2b541] part of check-in [12418b1001] The pcache and the built-in VFSes should not use mutexes when SQLITE_CONFIG_SINGLETHREAD is set. (check-in: [12418b1001] user: drh branch: trunk, size: 41266) | |
2016-03-17
| ||
23:16 | [c40cdb9358] part of check-in [65ba2f0b46] Fix harmless compiler warnings that arise with -DSQLITE_OMIT_LOAD_EXTENSION (check-in: [65ba2f0b46] user: drh branch: trunk, size: 41270) | |
2016-03-08
| ||
16:35 | [dc4ad9b31c] part of check-in [2974194123] Merge changes from trunk, especially the SQLITE_DEFAULT_SYNCHRONOUS enhancements. (check-in: [2974194123] user: drh branch: apple-osx, size: 41252) | |
2015-12-16
| ||
13:07 | [72f644dc9e] part of check-in [f2fc3aede5] Make greater use of the SQLITE_WITHIN macro. (check-in: [f2fc3aede5] user: drh branch: trunk, size: 41246) | |
2015-11-26
| ||
22:12 | [46a110be31] part of check-in [5e14cadff0] The first argument to SQLITE_CONFIG_PAGECACHE, SQLITE_CONFIG_SCRATCH, and SQLITE_CONFIG_HEAP must always be a pointer. (check-in: [5e14cadff0] user: drh branch: trunk, size: 41235) | |
2015-10-15
| ||
15:28 | [902e1bc7bd] part of check-in [6422d223dd] Change sqlite3StatusSet() into sqlite3StatusHighwater() so that only the highwater mark is recorded. This gives a small size reduction and performance improvement. (check-in: [6422d223dd] user: drh branch: trunk, size: 41228) | |
2015-09-25
| ||
16:29 | [7f8630a207] part of check-in [2c57b2f386] Disable the SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS mechanism and replace it with SQLITE_TESTCTRL_BENIGN_MALLOC_CTRL, which gives better control. (check-in: [2c57b2f386] user: drh branch: malloc-testing, size: 41205) | |
2015-09-19
| ||
18:08 | [e822007159] part of check-in [5c31ee62a1] Fix compiler warnings. (check-in: [5c31ee62a1] user: drh branch: trunk, size: 41216) | |
2015-09-10
| ||
19:22 | [a0c0bb29f7] part of check-in [f5580f0853] Fix a potential NULL pointer deref in the testing logic of pcache1. NB: The -DSQLITE_TEST compile-time option is needed to hit the problem. (check-in: [f5580f0853] user: drh branch: trunk, size: 41210) | |
2015-09-09
| ||
19:27 | [ca0eeaaf9f] part of check-in [89bfdbfe94] Fix a possible NULL pointer deref when using SQLITE_ENABLE_MEMORY_MANAGEMENT. (check-in: [89bfdbfe94] user: drh branch: trunk, size: 41205) | |
2015-09-04
| ||
04:31 | [bf2afe64a3] part of check-in [05a3a2cd14] Simplification of the LRU list handling in pcache1. (check-in: [05a3a2cd14] user: drh branch: trunk, size: 41189) | |
2015-09-03
| ||
20:43 | [e1529369c0] part of check-in [f00a9e1e99] Change the pcache module to keep track of the total number of references to all pages rather than the number of pages references, for a performance improvement and size reduction. (check-in: [f00a9e1e99] user: drh branch: trunk, size: 41107) | |
2015-09-01
| ||
19:51 | [b31af9dbc8] part of check-in [0bee658366] Reduce the number of calls to sqlite3BeginBenignMalloc(). (check-in: [0bee658366] user: drh branch: trunk, size: 40919) | |
2015-08-21
| ||
12:37 | [a3fe31b17e] part of check-in [7b8d17dd84] Fix typo in comment. No changes to code. (check-in: [7b8d17dd84] user: drh branch: trunk, size: 40894) | |
2015-07-16
| ||
18:37 | [d08939800a] part of check-in [9a592cf91c] Fix harmless compiler warnings. (check-in: [9a592cf91c] user: drh branch: trunk, size: 40891) | |
18:18 | [6c1e595708] part of check-in [b79a4affe4] Defer the bulk pcache1 memory allocation until the first page allocation request. Limit the size of the pcache1 bulk allocation to the cache_size setting. Deallocate the bulk allocation on a sqlite3_db_release_memory() request, if the bulk allocation is completely unused. (check-in: [b79a4affe4] user: drh branch: trunk, size: 40874) | |
2015-07-08
| ||
14:13 | [3f4c87cf91] part of check-in [c1e2ed0ef4] Comment fix. No changes to code. (check-in: [c1e2ed0ef4] user: drh branch: pcache-bulk-local, size: 40285) | |
13:40 | [1f88fe632a] part of check-in [75d98dae67] Do not do the bulk pcache1 allocations if SQLITE_CONFIG_PAGECACHE specifies a global page cache buffer. (check-in: [75d98dae67] user: drh branch: pcache-bulk-local, size: 40220) | |
2015-07-07
| ||
15:14 | [e3b0de837c] part of check-in [26db0fee06] No need to test sqlite3GlobalConfig.bCoreMutex when SQLITE_THREADSAFE==0. (check-in: [26db0fee06] user: drh branch: pcache-bulk-local, size: 40174) | |
14:06 | [1b6bc285d8] part of check-in [5b60df5503] Simplify the page recycling condition in pcache1. Fix test cases to work with the latest changes. (check-in: [5b60df5503] user: drh branch: pcache-bulk-local, size: 40094) | |
2015-07-06
| ||
20:57 | [17c392b420] part of check-in [d5ff1d6905] A unified cache is now only used for SQLITE_ENABLE_MEMORY_MANAGEMENT, or if SQLITE_CONFIG_PAGECACHE defines a shared start-time page cache buffer and the application is single-threaded. (check-in: [d5ff1d6905] user: drh branch: pcache-bulk-local, size: 40152) | |
18:54 | [28f3434788] part of check-in [aa7341c873] Enhance separate pcache1 to allocate a block of pages from heap on startup, if possible, for a 5.2% performance improvement. (check-in: [aa7341c873] user: drh branch: pcache-bulk-local, size: 39844) | |
2015-07-04
| ||
18:15 | [b800e90896] part of check-in [dacb2a615c] Preserve the number of requested PAGECACHE pages even if the memory pointer or size is zero. Enhance the pcache1.c header comment to explain the memory layout of a page cache line. (check-in: [dacb2a615c] user: drh branch: trunk, size: 37546) | |
2015-06-29
| ||
00:21 | [9ec20f98f5] part of check-in [fde70472ae] Use tail recursion in pcache1Unpin() to get a small size reduction and speed improvement. (check-in: [fde70472ae] user: drh branch: trunk, size: 35569) | |
2015-06-15
| ||
14:43 | [8e3799b33c] part of check-in [b0badb9902] Fix harmless compiler warnings. (check-in: [b0badb9902] user: drh branch: trunk, size: 35537) | |
2015-06-13
| ||
11:10 | [7ca0caf7ec] part of check-in [dcf4fb8d76] Avoid unnecessary mutex usage in pcache1, for a significant speedup. (check-in: [dcf4fb8d76] user: drh branch: faster-pcache1-fetch, size: 35531) | |
2015-06-12
| ||
13:49 | [0324126d98] part of check-in [760700edb3] Add a fast-path implementation of pcache1Fetch() for the common case of separate caches that do not use a mutex. (check-in: [760700edb3] user: drh branch: faster-pcache1-fetch, size: 35078) | |
13:04 | [0f2c218d9f] part of check-in [2e8ad2ead9] Minor performance optimization in pcache1.c. (check-in: [2e8ad2ead9] user: drh branch: trunk, size: 34207) | |
2015-03-23
| ||
17:25 | [69d137620a] part of check-in [1ce8e8fa4b] Add the sqlite3_status64() interface. Make the new interface and the legacy sqlite3_status() both atomic and threadsafe. Check threadsafety using assert()s. (check-in: [1ce8e8fa4b] user: drh branch: status64, size: 34212) | |
2014-12-30
| ||
13:04 | [1e77432b40] part of check-in [340b347758] Make SQLITE_CONFIG_PCACHE_HDRSZ accurate (not an over-estimate) on 32-bit systems. (check-in: [340b347758] user: drh branch: trunk, size: 33950) | |
00:57 | [ff599891da] part of check-in [b28ce75f2d] Round all object sizes that go into computing SQLITE_CONFIG_PCACHE_HDRSZ up to a multiple of 8 bytes. (check-in: [b28ce75f2d] user: drh branch: trunk, size: 33942) | |
2014-11-04
| ||
12:11 | [facbdd3ecc] part of check-in [6eb03e62a3] Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config(). (check-in: [6eb03e62a3] user: drh branch: trunk, size: 33934) | |
2014-10-10
| ||
19:10 | [e412cb585f] part of check-in [8541dfb3bb] Fix a failing test case in index5.test. Also tweak the way cache memory is divided between read-only and dirty pages when using SQLITE_CONFIG_PAGECACHE to reduce IO in some cases. (check-in: [8541dfb3bb] user: dan branch: trunk, size: 33789) | |
2014-09-06
| ||
16:39 | [dab8ab930d] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (check-in: [e62aab5e92] user: peter.d.reid branch: trunk, size: 33756) | |
2014-08-23
| ||
23:15 | [c5af6403a5] part of check-in [0371cc3bb0] Faster implementation of pcache1Fetch() (check-in: [0371cc3bb0] user: drh branch: trunk, size: 33754) | |
2014-08-15
| ||
22:37 | [9bb5fb78c6] part of check-in [c8ade949d4] Aborted merge. (check-in: [c8ade949d4] user: numist branch: obsolete, size: 33547) | |
2014-05-19
| ||
15:16 | [fed7cd28e3] part of check-in [17349a49d2] Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. (check-in: [17349a49d2] user: drh branch: safer-malloc, size: 33469) | |
2014-01-24
| ||
22:58 | [102e6f5a2f] part of check-in [87bf60637e] Fixes for various clang warnings. (check-in: [87bf60637e] user: drh branch: trunk, size: 33464) | |
2013-12-13
| ||
18:50 | [57fee9a9a6] part of check-in [a845779cd3] Enhance the pcache1PinPage() routine so that it called much less often and runs much faster in the cases when it is actually called. (check-in: [a845779cd3] user: drh branch: trunk, size: 33411) | |
2013-08-19
| ||
18:17 | [a467393909] part of check-in [1c63e9515b] Add some extra assert() statements to silence a few clang warnings. (check-in: [1c63e9515b] user: dan branch: trunk, size: 33093) | |
2013-05-28
| ||
12:11 | [d23d07716d] part of check-in [a0d5cc9315] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: [a0d5cc9315] user: drh branch: trunk, size: 33046) | |
2012-07-30
| ||
14:53 | [9fd22671c2] part of check-in [305b666726] Replace a few sqlite3_malloc()+memset() sequences with calls to sqlite3MallocZero(). (check-in: [305b666726] user: dan branch: trunk, size: 33046) | |
2012-06-07
| ||
02:35 | [2234d84f9c] part of check-in [208825cd83] Provide an (undocumented) compile-time option to disable the page cache overflow counter, in order to avoid a mutex. (check-in: [208825cd83] user: drh branch: trunk, size: 33112) | |
2012-02-02
| ||
19:37 | [b30b1c3590] part of check-in [21695c3476] Reduce the size of the MemPage object by about 32 bytes. Other structure size optimizations. (check-in: [21695c3476] user: drh branch: trunk, size: 33002) | |
2012-01-08
| ||
22:18 | [281822d222] part of check-in [fc9179e154] Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one. (check-in: [fc9179e154] user: drh branch: trunk, size: 33003) | |
2012-01-02
| ||
18:00 | [e1aaa3bc9b] part of check-in [da52e6e8b4] Change page quantities in pcache1.c to unsigned. (check-in: [da52e6e8b4] user: drh branch: trunk, size: 33007) | |
2011-11-16
| ||
19:29 | [9d735349ac] 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: 32875) | |
2011-11-13
| ||
21:44 | [0ac7b63db8] part of check-in [9f839ac05a] Add a version number to the sqlite3_pcache_methods2 object. Other PCACHE2 documentation improvements. (check-in: [9f839ac05a] user: drh branch: experimental-pcache, size: 32334) | |
2011-11-09
| ||
16:12 | [7a3ce2dca0] part of check-in [bc10a75357] Minor changes needed to restore full branch test coverage. (check-in: [bc10a75357] user: drh branch: experimental-pcache, size: 32290) | |
00:06 | [9a42ace802] part of check-in [4da7095683] Update the API documentation for the new pcache2 interface. Change the order of parameters on the xCreate method of pcache2. (check-in: [4da7095683] user: drh branch: experimental-pcache, size: 31839) | |
2011-11-08
| ||
20:08 | [54fc4ed623] 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: 31840) | |
2011-09-22
| ||
14:56 | [24f5e85a78] part of check-in [4eb4689834] Remove the SQLITE_PAGECACHE_BLOCKALLOC compilation option. (check-in: [4eb4689834] user: dan branch: trunk, size: 31943) | |
2011-08-23
| ||
23:41 | [c8982f7048] part of check-in [d5d835fe83] Simplifications to the SQLITE_PAGECACHE_BLOCKALLOC logic. Reduce the number of difficult-to-reach branches. (check-in: [d5d835fe83] user: drh branch: trunk, size: 40622) | |
13:27 | [a1d860753e] part of check-in [0da292da3b] Ifdef out routines in pcache1.c that are used only when SQLITE_PAGECACHE_BLOCKALLOC is defined. (check-in: [0da292da3b] user: drh branch: trunk, size: 40254) | |
2011-08-19
| ||
18:15 | [0a131cf999] part of check-in [63597097ee] Experimental change: If SQLITE_PAGECACHE_BLOCKALLOC is defined, instead of allocating pages one at a time, allocate blocks of between 15 and 63 pages in a single allocation. (check-in: [63597097ee] user: dan branch: pager-blockalloc, size: 40178) | |
2011-06-09
| ||
17:53 | [912bd5687d] part of check-in [b11b2e1f8c] Fix a line in pcache1.c where a global data structure is accessed without using the GLOBAL() macro. This causes a subtle malfunction on test systems that use SQLITE_OMIT_WSD. (check-in: [b11b2e1f8c] user: dan branch: trunk, size: 31640) | |
2011-01-26
| ||
13:28 | [d548e31bea] part of check-in [e3b500fb5d] More mutexes around another sqlite3StatusAdd() call. (check-in: [e3b500fb5d] user: drh branch: trunk, size: 31642) | |
13:24 | [a3665bec02] part of check-in [3d8b298dc2] Add a mutex around an sqlite3StatusAdd() call to prevent the pagecount overflow measurements from getting off in multithreaded applications. (check-in: [3d8b298dc2] user: drh branch: trunk, size: 31562) | |
00:07 | [6901229309] part of check-in [c85202baac] Rename the PCache1.mxPinned field to n90pct (since it is 90% of nMax) in order to distinguish it from PGroup.mxPinned. Fix the computation of n90pct so that it does not overflow adversely on excessively large cache sizes. (check-in: [c85202baac] user: drh branch: trunk, size: 31478) | |
2011-01-25
| ||
18:30 | [71948ab1b3] part of check-in [c17703ec1e] Fix new compiler warnings in pcache1.c that were introduced by the recent performance enhancement patches of [e14649301138b684]. (check-in: [c17703ec1e] user: drh branch: trunk, size: 31452) | |
04:34 | [54401ef4ea] part of check-in [e146493011] Shave a few cycles so that performance is better than 3.7.4 in speed tests. (check-in: [e146493011] user: drh branch: trunk, size: 31456) | |
2011-01-19
| ||
21:58 | [2610bcebf1] part of check-in [9660a0a225] Comment improvements in pcache1.c. No changes to code. (check-in: [9660a0a225] user: drh branch: trunk, size: 30322) | |
2011-01-18
| ||
15:17 | [b02aafb8e6] part of check-in [f1cf02efcb] Do not use SQLITE_MUTEX_STATIC_MEM2 since it has been reused as STATIC_OPEN. Instead, create a new static mutex STATIC_PMEM which is an alias for the unused STATIC_LRU2. (check-in: [f1cf02efcb] user: drh branch: mutex-free-pcache, size: 30229) | |
2011-01-17
| ||
21:32 | [35f4d8d3e8] part of check-in [d094a1bfb7] Here is a completely new implementation of the mutex-free-pcache. This one uses a common code base and automatically selects whether or not to use mutexes depending on compile-time and start-time options. (check-in: [d094a1bfb7] user: drh branch: mutex-free-pcache, size: 30229) | |
2011-01-14
| ||
16:12 | [9beb404ce7] part of check-in [2ea5bd1287] Provide an alternative and experimental pcache implementation that avoids the use of mutexes at the expense of using more memory. (check-in: [2ea5bd1287] user: drh branch: mutex-free-pcache, size: 26509) | |
15:17 | [306389ff1a] part of check-in [c80e9c1a0d] Fix comments, including some documentation comments, in the page cache logic. No code changes. (check-in: [c80e9c1a0d] user: drh branch: trunk, size: 26426) | |
2010-09-22
| ||
19:06 | [e9578a3bea] part of check-in [7ff3574b9c] Further tests and changes to make the r-tree module more robust. (check-in: [7ff3574b9c] user: dan branch: trunk, size: 26671) | |
2010-09-01
| ||
02:38 | [d090673e74] part of check-in [afdc82a99e] Fix some compiler warnings under MSVC. (check-in: [afdc82a99e] user: shaneh branch: trunk, size: 26599) | |
2010-08-27
| ||
12:21 | [7d94fd171b] part of check-in [51049479a8] Remove unnecessary code from malloc.c. Enhance pcache1.c so that is tries to reuse existing pages, rather than create new pages, when SQLite is under memory pressure. "Memory pressure" means that SQLITE_CONFIG_PAGECACHE memory is nearly exhausted or sqlite3_soft_heap_limit() has been reached. (check-in: [51049479a8] user: drh branch: trunk, size: 26594) | |
2010-08-24
| ||
18:06 | [367d88f792] part of check-in [c2dc39c0c4] Comment enhancements and typo fixes in pcache1.c. (check-in: [c2dc39c0c4] user: drh branch: trunk, size: 24945) | |
2010-08-20
| ||
09:14 | [e921e8a1d5] part of check-in [0426cd62d5] Fix the sqlite3_release_memory() interface so that it does not attempt to free SQLITE_CONFIG_PAGECACHE memory. (check-in: [0426cd62d5] user: drh branch: trunk, size: 24708) | |
2010-07-28
| ||
17:01 | [638844c118] part of check-in [f9adf66ad5] Record the pcache allocation size statistics even for pcache overflow allocations. Adjust the wording on one of the stat output lines in the shell. (check-in: [f9adf66ad5] user: drh branch: trunk, size: 24193) | |
2010-06-02
| ||
05:53 | [3a7c28f46a] part of check-in [e7073e23b8] Add some 'const' markers to static data that is really constant. (check-in: [e7073e23b8] user: dan branch: trunk, size: 24195) | |
2010-03-12
| ||
16:32 | [6dc1871ce8] part of check-in [c2af2164cf] Add assert()s to mem2.c (activated by SQLITE_MEMDEBUG) which verify that memory alloctions that might have come from lookaside are always freed using a lookaside-aware free routine. (check-in: [c2af2164cf] user: drh branch: trunk, size: 24189) | |
2009-11-20
| ||
13:18 | [2bb2261190] part of check-in [9a429349cc] Avoid unnecessary page cache allocations when move a page while autovacuuming an in-memory database, since the allocation might fail making it impossible to rollback the transaction. (check-in: [9a429349cc] user: drh branch: trunk, size: 24029) | |
2009-11-10
| ||
01:30 | [db4a996e45] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f649] user: drh branch: trunk, size: 24450) | |
2009-08-17
| ||
15:31 | [211295a9ff] part of check-in [32509bc733] More documentation and comment updates for sqlite3_initialize/shutdown interface changes to handle failures. (check-in: [32509bc733] user: shane branch: trunk, size: 24513) | |
2009-07-17
| ||
11:44 | [6dc833c89f] part of check-in [fb1b955dda] Code simplifications in support of structural testing. (CVS 6900) (check-in: [fb1b955dda] user: drh branch: trunk, size: 24433) | |
2009-07-16
| ||
18:21 | [daa2a58a42] part of check-in [9452517981] Code simplifications and comment improvements in support of structural coverage testing. (CVS 6899) (check-in: [9452517981] user: drh branch: trunk, size: 23825) | |
2009-06-09
| ||
18:58 | [97e7e8e6e3] part of check-in [0bd84e7387] Fix compiler warnings with MSVC build. (CVS 6741) (check-in: [0bd84e7387] user: shane branch: trunk, size: 23407) | |
2009-06-03
| ||
21:04 | [3de4feb556] part of check-in [c54de1f540] Change the pcache1.c implementation so that the "header" occurs at the end of page buffer, not at the beginning. This insures that the 20 bytes immediately following the page buffer are mapped if a read of the page buffer overruns due to a malformed cell. (CVS 6711) (check-in: [c54de1f540] user: drh branch: trunk, size: 23396) | |
2009-05-22
| ||
11:12 | [bed75f1572] part of check-in [93369d91ab] Add an assert() to pcache1.c to double-check that page cache buffer memory is never allocated if pcache1 is not enabled. Ticket #3872 (CVS 6670) (check-in: [93369d91ab] user: drh branch: trunk, size: 23230) | |
11:10 | [39a2c2fa83] part of check-in [5153ad19da] Additional changes to pcache1 to prevent the page buffer memory from being configured if pcache1 is not enabled. Ticket #3872. (CVS 6669) (check-in: [5153ad19da] user: drh branch: trunk, size: 23200) | |
10:53 | [88fbd238a6] part of check-in [6240992cef] Make sure sqlite3_shutdown() completely disables the default pager cache mechanism in pcache1.c. Ticket #3872. Also fix some comments associated with configuring the page cache. (CVS 6668) (check-in: [6240992cef] user: drh branch: trunk, size: 23000) | |
2009-05-18
| ||
16:14 | [b08287d2cd] part of check-in [2a277c55b2] Port patches from the trunk into the 3.6.14.1 branch: the group_concat() fix of check-in (6616), ticket #3841 and the pcache fix of check-in (6619), ticket #3844. (CVS 6652) (check-in: [2a277c55b2] user: drh branch: branch_3_6_14, size: 22978) | |
2009-05-08
| ||
06:52 | [a6138ee57d] part of check-in [88211ceeec] Correctly update the cache page-count when discarding pages in the xTruncate() method of the default pcache implementation. Otherwise the effective configured size of the cache shrinks each time xTruncate() is called. Fix for #3844. (CVS 6619) (check-in: [88211ceeec] user: danielk1977 branch: trunk, size: 22982) | |
2009-04-14
| ||
18:44 | [35f8601c91] part of check-in [a117d82dad] nMax can be zero and subtracting 1 from an unsigned zero produces undesirable results (CVS 6506) (check-in: [a117d82dad] user: aswift branch: trunk, size: 22809) | |
2009-03-23
| ||
04:33 | [f587565f4b] part of check-in [db1d4d2f50] Use the ROUND8() macro to round an integer up to the nearest multiple of 8 and ROUNDDOWN8() macro to round down to the nearest multiple of 8. This is a cosmetic change. (CVS 6372) (check-in: [db1d4d2f50] user: danielk1977 branch: trunk, size: 22813) | |
2009-03-05
| ||
14:59 | [f12518540b] part of check-in [823fe7f555] Begin purging dirty pages from the cache once 90% of the cache is dirty (insteadof waiting until it is 100% dirty). This improves performance in some circumstances by effectively reserving 10% of the configured page-cache for frequently reused read-only pages. (CVS 6341) (check-in: [823fe7f555] user: danielk1977 branch: trunk, size: 22801) | |
2009-01-23
| ||
16:45 | [dabb8ab148] part of check-in [9c0b9f8813] Optimization: When loading a new page into the cache, avoid redundant memset() calls to zero it. (CVS 6201) (check-in: [9c0b9f8813] user: danielk1977 branch: trunk, size: 22792) | |
2009-01-07
| ||
15:18 | [c0aa84ff69] part of check-in [83d1eafbde] Fix for 'truncate file' operations on in-memory databases. (CVS 6131) (check-in: [83d1eafbde] user: danielk1977 branch: trunk, size: 22779) | |
2008-12-10
| ||
18:03 | [533b18aa24] part of check-in [14e6d19c31] More explicit type casting to silence VC++. (CVS 6006) (check-in: [14e6d19c31] user: drh branch: trunk, size: 22486) | |
2008-12-06
| ||
14:34 | [fb6cf5b809] part of check-in [5c0fe63a63] Mark the hash table enlargement in pcache1.c as a benign-failure malloc. (CVS 5986) (check-in: [5c0fe63a63] user: drh branch: trunk, size: 22480) | |
2008-11-24
| ||
20:05 | [d8d412326c] part of check-in [e93cec0a72] Added cast to PAGE_TO_PGHDR1 macro to remove warning. It looks like despite the warning, the compiler (tested with VS2005 and GCC on Windows) was doing the right thing. Ticket #3510. (CVS 5953) (check-in: [e93cec0a72] user: shane branch: trunk, size: 22388) | |
2008-11-19
| ||
09:05 | [2453a3e925] part of check-in [88134322c3] Changes to avoid "unused parameter" compiler warnings. (CVS 5921) (check-in: [88134322c3] user: danielk1977 branch: trunk, size: 22389) | |
2008-11-15
| ||
11:22 | [0fa9cce1b5] part of check-in [ce77ea989e] Fix compiler warnings in pcache1.c related to comparison of unsigned and signed values. (CVS 5908) (check-in: [ce77ea989e] user: danielk1977 branch: trunk, size: 22331) | |
2008-11-13
| ||
14:28 | Added: [7612a5d850] part of check-in [47866d6708] Add an API to support custom page cache implementations. (CVS 5899) (check-in: [47866d6708] user: danielk1977 branch: trunk, size: 22319) | |