drh
4eb8d7fa89
Slightly smaller and faster implementation of pcache1InitBulk().
...
FossilOrigin-Name: 06c2b685e15b3ee045a3e7ea018701392771c7664e59a51c9aba87cdefeb37af
2017-03-29 17:06:14 +00:00
drh
bf96228754
Fix the sqlite3_release_memory() interface so that it works even if
...
SQLITE_DEFAULT_PCACHE_INITSZ is non-zero.
FossilOrigin-Name: 5d902b7fea3144bf57f02aca87b9795fdcec4774310ade6ef01f37d206c3d74f
2017-03-29 15:18:40 +00:00
drh
989412a1cf
Take care to avoid integer overflow when doing the initial page cache
...
allocation with an excessively large cache_size setting.
FossilOrigin-Name: 4d66ac98deaa85218be7ff0eb254f78b96d8e8d4
2016-10-13 12:56:18 +00:00
drh
f5dbe7f8d8
Tweaks to pcache1TruncateUnsafe() to make it slightly smaller and faster and
...
easier to test.
FossilOrigin-Name: 059f4e2efefb7b9deaf539110c19bceaeb10c6ce
2016-08-10 15:02:49 +00:00
drh
d9fabbcc5b
Fix pcache1TruncateUnsafe() run faster for the case where iLimit is
...
very close to iMaxKey.
FossilOrigin-Name: b07a26df06a2ffb946ff8a1cc7f43eaf701a94b5
2016-08-10 11:50:12 +00:00
drh
97a7e5e68c
The pcache and the built-in VFSes should not use mutexes when
...
SQLITE_CONFIG_SINGLETHREAD is set.
FossilOrigin-Name: 12418b100196abbfbfb85e0ab4bb6b1cbf335df7
2016-04-26 18:58:54 +00:00
drh
9493cafe6f
Fix harmless compiler warnings that arise with -DSQLITE_OMIT_LOAD_EXTENSION
...
FossilOrigin-Name: 65ba2f0b465a1493de6e467f55e0300ac3fb08e1
2016-03-17 23:16:37 +00:00
drh
8b0ba7b0b8
Make greater use of the SQLITE_WITHIN macro.
...
FossilOrigin-Name: f2fc3aede55c8fa0351697f9f5ce4e544334c9af
2015-12-16 13:07:35 +00:00
drh
a6082f699e
The first argument to SQLITE_CONFIG_PAGECACHE, SQLITE_CONFIG_SCRATCH, and
...
SQLITE_CONFIG_HEAP must always be a pointer.
FossilOrigin-Name: 5e14cadff09d7425c8e1cc5e817f2b0609e52a46
2015-11-26 22:12:41 +00:00
drh
b02392e6f0
Change sqlite3StatusSet() into sqlite3StatusHighwater() so that only the
...
highwater mark is recorded. This gives a small size reduction and
performance improvement.
FossilOrigin-Name: 6422d223dd10018703c6b083d29a3c35c837fc97
2015-10-15 15:28:56 +00:00
drh
8faee877cb
Fix compiler warnings.
...
FossilOrigin-Name: 5c31ee62a196b914673384a611534fd778dc64b0
2015-09-19 18:08:13 +00:00
drh
0b19c96935
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.
FossilOrigin-Name: f5580f08538636ffb1367e717a33756288ccddde
2015-09-10 19:22:25 +00:00
drh
8820250e8d
Fix a possible NULL pointer deref when using SQLITE_ENABLE_MEMORY_MANAGEMENT.
...
FossilOrigin-Name: 89bfdbfe943adce8e02c84ede014fcfed504c5d3
2015-09-09 19:27:10 +00:00
drh
92af02c939
Simplification of the LRU list handling in pcache1.
...
FossilOrigin-Name: 05a3a2cd140587265b5427d23c93c5be1f39e199
2015-09-04 04:31:56 +00:00
drh
95a0b37156
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.
FossilOrigin-Name: f00a9e1e998c4bd249a45444dc2d71a7e4903b8b
2015-09-03 20:43:55 +00:00
drh
3c0c43191a
Reduce the number of calls to sqlite3BeginBenignMalloc().
...
FossilOrigin-Name: 0bee6583665782fac5d9e82bdf19b6f07e7bd03f
2015-09-01 19:51:37 +00:00
drh
0dfbe064de
Fix typo in comment. No changes to code.
...
FossilOrigin-Name: 7b8d17dd840f64dac9a018a4547a97de799e94ab
2015-08-21 12:37:49 +00:00
drh
939d4bcd77
Fix harmless compiler warnings.
...
FossilOrigin-Name: 9a592cf91c74b369bacf6a0e69d45f3e73dfdbce
2015-07-16 18:37:53 +00:00
drh
957026ac78
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.
FossilOrigin-Name: b79a4affe44bd0c8e155cae19f3f62c715684cd6
2015-07-16 18:18:19 +00:00
drh
7b341e6f99
Comment fix. No changes to code.
...
FossilOrigin-Name: c1e2ed0ef4d3436d19d3203c5fb553caac53659e
2015-07-08 14:13:44 +00:00
drh
52d9f40b7d
Do not do the bulk pcache1 allocations if SQLITE_CONFIG_PAGECACHE specifies
...
a global page cache buffer.
FossilOrigin-Name: 75d98dae676996a05e97b09b19e34463e8f30d51
2015-07-08 13:40:50 +00:00
drh
fd5ae9649c
No need to test sqlite3GlobalConfig.bCoreMutex when SQLITE_THREADSAFE==0.
...
FossilOrigin-Name: 26db0fee06947d75621237a641b9652b312b3b37
2015-07-07 15:14:16 +00:00
drh
c54357cc2a
Simplify the page recycling condition in pcache1. Fix test cases to work
...
with the latest changes.
FossilOrigin-Name: 5b60df5503f61922326b3e10e94aa197b17afe4b
2015-07-07 14:06:18 +00:00
drh
db7ae89d5b
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.
FossilOrigin-Name: d5ff1d69054d51a55eff6e1979971822db7f8f30
2015-07-06 20:57:22 +00:00
drh
ee70a84ea7
Enhance separate pcache1 to allocate a block of pages from heap on startup,
...
if possible, for a 5.2% performance improvement.
FossilOrigin-Name: aa7341c8736732a0a59f6688cc34e78be02a7bfc
2015-07-06 18:54:52 +00:00
drh
01c5c00c12
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.
FossilOrigin-Name: dacb2a615ce1c0573baf4518000454038745cf2a
2015-07-04 18:15:04 +00:00
drh
95c91e145a
Use tail recursion in pcache1Unpin() to get a small size reduction and
...
speed improvement.
FossilOrigin-Name: fde70472aebc09b34a517131f676e6847d02b747
2015-06-29 00:21:00 +00:00
drh
f5ed7ad63e
Fix harmless compiler warnings.
...
FossilOrigin-Name: b0badb99023e23bef0e2064cec58f2b279af0c0b
2015-06-15 14:43:25 +00:00
drh
982215a2c5
Avoid unnecessary mutex usage in pcache1, for a significant speedup.
...
FossilOrigin-Name: dcf4fb8d764611de60afea27cda0a8548ba7ca82
2015-06-13 11:10:55 +00:00
drh
55a46c9b0e
Add a fast-path implementation of pcache1Fetch() for the common case of
...
separate caches that do not use a mutex.
FossilOrigin-Name: 760700edb3ff1f5d6bf3058f874cc8e2808905c7
2015-06-12 13:49:26 +00:00
drh
b230a52892
Minor performance optimization in pcache1.c.
...
FossilOrigin-Name: 2e8ad2ead9d146e312c693d9b967bbd5b92429d9
2015-06-12 13:04:51 +00:00
drh
af89fe66ea
Add the sqlite3_status64() interface. Make the new interface and the legacy
...
sqlite3_status() both atomic and threadsafe. Check threadsafety using
assert()s.
FossilOrigin-Name: 1ce8e8fa4b866aafa12b1da0eb4d02321af9293e
2015-03-23 17:25:18 +00:00
drh
51dc84eb70
Make SQLITE_CONFIG_PCACHE_HDRSZ accurate (not an over-estimate) on 32-bit
...
systems.
FossilOrigin-Name: 340b347758e570db3e739b56af0dcf3fc34525be
2014-12-30 13:04:25 +00:00
drh
37c057b8ff
Round all object sizes that go into computing SQLITE_CONFIG_PCACHE_HDRSZ up
...
to a multiple of 8 bytes.
FossilOrigin-Name: b28ce75f2d3a6343dc20d581dc55afae89ab5efa
2014-12-30 00:57:29 +00:00
drh
def6889d21
Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config().
...
FossilOrigin-Name: 6eb03e62a34e8e0964175283587247b0212db604
2014-11-04 12:11:23 +00:00
dan
5bd8af7c6b
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.
...
FossilOrigin-Name: 8541dfb3bbdf63dc9ab304d8a0ab8b290cdc9d96
2014-10-10 19:10:59 +00:00
peter.d.reid
60ec914c74
Fix typos in comments. No code changes.
...
FossilOrigin-Name: e62aab5e9290503869e1f4d5e0fefd2b4dee0a69
2014-09-06 16:39:46 +00:00
drh
efbf044583
Faster implementation of pcache1Fetch()
...
FossilOrigin-Name: 0371cc3bb07448bcd64fd671f3e71bb7f30deb4d
2014-08-23 23:15:31 +00:00
drh
693e671936
Fixes for various clang warnings.
...
FossilOrigin-Name: 87bf60637e5863c54c5e2d05aaaca0835b7aace8
2014-01-24 22:58:00 +00:00
drh
5d56dd2867
Enhance the pcache1PinPage() routine so that it called much less often and
...
runs much faster in the cases when it is actually called.
FossilOrigin-Name: a845779cd31aec3204a6a9c776bd9c9f7d47dd24
2013-12-13 18:50:40 +00:00
dan
290703091e
Add some extra assert() statements to silence a few clang warnings.
...
FossilOrigin-Name: 1c63e9515b5f5cb9169928b108d002dcd18ad4fd
2013-08-19 18:17:03 +00:00
drh
f7b5496e8e
Many small harmless comment changes. Removal of obsolete comments and
...
fixing misspelled words. No changes to code.
FossilOrigin-Name: a0d5cc9315dc6e9ef7dee4c3dfabf4e562d64376
2013-05-28 12:11:54 +00:00
dan
6809c96df3
Replace a few sqlite3_malloc()+memset() sequences with calls to sqlite3MallocZero().
...
FossilOrigin-Name: 305b6667265353b858b79bfea1745e64ff3bb7d3
2012-07-30 14:53:54 +00:00
drh
4bd6952a77
Provide an (undocumented) compile-time option to disable the page cache
...
overflow counter, in order to avoid a mutex.
FossilOrigin-Name: 208825cd830748a2ca456affc57be75bbe618e47
2012-06-07 02:35:29 +00:00
drh
2cbd78b70e
Reduce the size of the MemPage object by about 32 bytes. Other structure
...
size optimizations.
FossilOrigin-Name: 21695c3476804477cb378b5a643196380e7e2281
2012-02-02 19:37:18 +00:00
drh
45d29309a7
Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one.
...
FossilOrigin-Name: fc9179e154751b51ddef429600d30a89d4a098bd
2012-01-08 22:18:33 +00:00
drh
a69085cf5f
Change page quantities in pcache1.c to unsigned.
...
FossilOrigin-Name: da52e6e8b490508bc1ee4700aa45a79f398363da
2012-01-02 18:00:55 +00:00
drh
09419b4bae
Add the sqlite3_db_release_memory() interface and the shrink_memory pragma.
...
FossilOrigin-Name: 3f58e7c8895d1252eff56282c08b1a6f1194452c
2011-11-16 19:29:17 +00:00
drh
81ef0f97ef
Add a version number to the sqlite3_pcache_methods2 object. Other PCACHE2
...
documentation improvements.
FossilOrigin-Name: 9f839ac05a9f3cfe587d2ccdccd50dac41baedbe
2011-11-13 21:44:03 +00:00
drh
e73c91496f
Minor changes needed to restore full branch test coverage.
...
FossilOrigin-Name: bc10a753579b65ba4604867204b7b3d8383f3ac7
2011-11-09 16:12:24 +00:00