drh
575fad6500
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority
...
cases where db is guaranteed to be not NULL.
FossilOrigin-Name: 0a802e96ab06e2643834b83671fa8353da1a348d
2016-02-05 13:38:36 +00:00
drh
b84e574c89
Further performance improvements that fall out of the mallocFailed changes.
...
FossilOrigin-Name: d94416ddca8f7ed727dd335d38155ea5945a86b7
2016-02-05 02:42:54 +00:00
drh
4a642b6060
Improvements to the way that OOM errors are processed.
...
FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
2016-02-05 01:55:27 +00:00
drh
1da26a48dd
Performance improvement in sqlite3DbMallocRaw().
...
FossilOrigin-Name: ff8eadbed5004ab03438f737492387dee6b9750a
2016-01-20 03:36:32 +00:00
drh
ac536e613a
Move pointer range comparisons into a macro, where they can be dealt with
...
in a more portable way.
FossilOrigin-Name: ad3124c834b080aaaf24934d6f08b3601ac3ae53
2015-12-10 15:09:17 +00:00
drh
56d90be183
Remove an unreachable branch in malloc.c.
...
FossilOrigin-Name: a36b7fe92372a13ff0b6e08f1704496045c6f62a
2015-10-26 12:55:56 +00:00
drh
59a052359d
Remove a superfluous conditional from the memory allocation initialization.
...
FossilOrigin-Name: 9ccf8f8d35723f2a9b59010b6d5f37a14164a188
2015-10-15 17:21:35 +00:00
drh
039ca6ab59
Performance optimizations to the sqlite3MallocSize() by requiring the
...
argument to always be non-NULL.
FossilOrigin-Name: cb65989b0710c65e4df69063b346344fdb1d12c7
2015-10-15 16:20:57 +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
5fb72e5f3e
No-op the sqlite3_memory_alarm() interface in a different way, that does
...
not break legacy memory behavior. This is a re-do of
check-in [5d3f5df4da9f40d5].
FossilOrigin-Name: 8250e2a487ee12c9a2dea5603ab60aed51e5dc7b
2015-09-10 01:22:09 +00:00
drh
4ef299a32c
The sqlite3_memory_alarm() interface has been deprecated and undocumented
...
for almost 8 years (since version 3.5.3). Change it into a no-op.
FossilOrigin-Name: 5d3f5df4da9f40d5897b5c23b2ea9333fc18ac2c
2015-09-02 14:56:56 +00:00
drh
054bbabc76
Small size reduction and performance increase in sqlite3DbMallocSize().
...
FossilOrigin-Name: 8a80967f849eed002a701235ed7fb406099d566e
2015-09-01 20:09:33 +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
597d2b6412
Change sqlite3ApiExit() so that its first argument is never NULL.
...
FossilOrigin-Name: 791b706ec6c3e80885666e48e01524f0e9a7557e
2015-06-30 03:13:47 +00:00
drh
22c17b8bf5
Simplifications to error message processing. Fix a possible problem in error
...
message formatting when vacuuming a database with a corrupt schema.
FossilOrigin-Name: 56ef98a04765c34c1c2f3ed7a6f03a732f3b886e
2015-05-15 04:13:15 +00:00
drh
df5e1a00de
Fix the sqlite3_memory_used() and sqlite3_memory_highwater() interfaces so
...
that they really do provide a 64-bit answer.
FossilOrigin-Name: 8a0d5d5e9a4515603c47e9354af47550155a6f2d
2015-05-10 02:01:08 +00:00
drh
592f0cb15e
Avoid leaving the malloc subsystem in a partially initialized state if
...
the low-level initialization callback fails.
FossilOrigin-Name: 3e872011ff5e27738c282f46d2b5803d94fe4b76
2015-03-26 17:04:23 +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
mistachkin
d425864d33
Fix harmless compiler warnings with MSVC when assert() and SQLITE_MEMDEBUG are both enabled.
...
FossilOrigin-Name: 9513dbd4860c8dd391f831982d09aff227d16f5c
2015-03-21 23:38:59 +00:00
drh
cbd55b0362
Change the definition of SQLITE_CONFIG_SCRATCH so that at most one scratch
...
buffer is used per thread. Use the generic heap memory allocator for the
WalIterator object when running a checkpoint.
FossilOrigin-Name: 391c9b85abcb5ba300fb2e116384639310c69ed2
2014-11-04 14:22:27 +00:00
drh
d231aa3a42
Enhance (and fix) the MEMTYPE tags associated with heap memory allocations
...
when SQLITE_MEMDEBUG is used.
FossilOrigin-Name: ca5b789e33c4e5ce366d8f5372d086442f84e230
2014-10-07 15:46:54 +00:00
drh
8da47419dd
Update to requirements marks related to changes in the memory allocation
...
interface and enhancement of the documentation regarding DEFAULT clauses
in CREATE TABLE.
FossilOrigin-Name: 440705b98a3429b830ea85e71cc1e414bc6d8058
2014-10-03 14:54:47 +00:00
drh
17bcb10299
Add the Mem.szMalloc element to the Mem object and use it to keep track of
...
the size of the Mem.zMalloc allocation.
FossilOrigin-Name: 9c09ac353df6041808cace41880f4729ee73f5e1
2014-09-18 21:25:33 +00:00
drh
20f3df046a
Fix harmless warnings on 32-bit MSVC builds.
...
FossilOrigin-Name: 5192f964b2a85459553f1cea741b9791606ccc4e
2014-09-18 02:20:54 +00:00
drh
3329a63ac5
Fix compiler warnings and change the nullMem structure initializer into a
...
format that MSVC can understand.
FossilOrigin-Name: 163bfae8583b2d3002a3a43d6bf8a66fefd73acb
2014-09-18 01:21:43 +00:00
drh
da4ca9d19c
Add new APIs that take 64-bit length parameters:
...
sqlite3_malloc64(),
sqlite3_realloc64(),
sqlite3_bind_blob64(),
sqlite3_bind_texte64(),
sqlite3_result_blob64(),
and sqlite3_result_texte64().
Internal memory allocation routines also now use 64-bit unsigned length
parameters for safety.
Also add the sqlite3_msize() interface.
Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a
integer overflow problem.
FossilOrigin-Name: 94954850cf2e1ec0b7f590c7f46cdc54c72558ce
2014-09-09 17:27:35 +00:00
drh
b50c65d561
Faster implementation of the sqlite3ApiExit() routine.
...
FossilOrigin-Name: bd41d394d48516eb7d8ddc46abdcb427aa80173e
2014-08-23 20:25:53 +00:00
drh
b4586f1254
Another memory allocator performance optimization.
...
FossilOrigin-Name: 6da6f46d0c43e3b68c21f514ddf8ee663c20f249
2014-08-23 19:42:06 +00:00
drh
3ccd5bf89e
Changes to sqlite3ScratchMalloc() that make the entire memory allocation
...
interface a little faster and about 100 bytes smaller.
FossilOrigin-Name: f83daa16f65ef35062412e88c214852a4aeb3da2
2014-08-23 19:04:55 +00:00
drh
13f40da31d
Split the sqlite3Error() routine into sqlite3Error() and
...
sqlite3ErrorWithMsg(), for a slight size reduction and performance increase.
FossilOrigin-Name: cf561d1f0bb60b3d638632d20bd686dda4fa4a04
2014-08-22 18:00:11 +00:00
drh
b0e7704e9f
Simplify and improve the performance of the sqlite3VdbeMemGrow() routine.
...
FossilOrigin-Name: 48ecf18774ba9572d86696c60d87007a619d9f53
2013-12-10 19:49:00 +00:00
drh
9ccd8659ff
Change the PRAGMA parser to use a binary search for the pragma name.
...
Also: Minor performance enhancement to sqlite3DbFree() and to the
token dequoter.
FossilOrigin-Name: 870c030b4e1854e6e0d39907fadbd82774c16f56
2013-09-13 16:36:46 +00:00
drh
3608f177ba
Make sure lookaside memory allocations are unusable after they are freed.
...
FossilOrigin-Name: 3869aef6348018f584137f36f6924193a790e52f
2012-05-21 16:59:16 +00:00
drh
de0f18154e
Check the return code from sqlite3_initialize() called from within
...
sqlite3_soft_heap_limit64() and return an error from sqlite3_soft_heap_limit64()
if sqlite3_initialize() fails.
FossilOrigin-Name: 676acce274fec692a1eb34d27ee4b1327b4b3334
2011-12-22 17:10:35 +00:00
drh
2e5a422eee
Fix a bug in memory usage tracking that was introduced by
...
check-in [4e33a0eaf83922].
FossilOrigin-Name: 8ba456ae0b3d0c0b6f72f98bd0bc28f72dfa4ff5
2011-05-05 17:00:51 +00:00
shaneh
ca591feb34
Remove stray semi-colon that MSVC complained about.
...
FossilOrigin-Name: 7a085271ff85033479c2057c19a45a750168d228
2011-04-15 19:30:42 +00:00
drh
8e1bb041a8
Changes to memory allocator usage tracking to delay the onset of integer
...
overflow.
FossilOrigin-Name: 4e33a0eaf83922926f8d5ee988a20439a09bc795
2011-04-15 16:39:52 +00:00
drh
fcd71b6010
Suppress many harmless compiler warnings, mostly signed/unsigned comparisons
...
within asserts or unused parameters in extensions.
FossilOrigin-Name: 3eeb0ff78d04891b5fd1a3d99a9fb8cfbed77a81
2011-04-05 22:08:24 +00:00
drh
0b12e7f860
Add additional DBSTATUS options for measuring the hit and miss rates against
...
the lookaside memory pool - information useful in tuning the lookaside size.
Currently experimental pending analysis of performance impact.
FossilOrigin-Name: 34613f1dc54c638531ca2f5907b71fbe8841233e
2010-12-20 15:51:58 +00:00
shaneh
4b03f21e4f
Warning cleanup from MSVC.
...
FossilOrigin-Name: cde62657d6f410a3d6899cd7b4000d276fe3c813
2010-10-04 14:11:54 +00:00
drh
6ac78a0d9f
Fix several harmless compiler warnings.
...
FossilOrigin-Name: 7be03ecc04235420e54fed8a88742243278de160
2010-09-28 14:26:36 +00:00
drh
f82ccf6437
Added the sqlite3_soft_heap_limit64() interface. Deprecate the older
...
sqlite3_soft_heap_limit() interface.
FossilOrigin-Name: 82268a2c3d75431cd40de6ad09d398729de32a29
2010-09-15 17:54:31 +00:00
drh
39f67bebdd
Fix a couple of incorrect evidence marks on malloc().
...
FossilOrigin-Name: f9b5c5cb135f3d0bb2b64b4d3f8d77bbd8d2ae98
2010-09-11 16:25:42 +00:00
drh
71a1a0f485
Additional evidence marks on the malloc() implementation. Update the
...
documentation to explain that mallocs are not necessarily 8-byte aligned
if the SQLITE_4_BYTE_ALIGNED_MALLOC compile-time option is used.
FossilOrigin-Name: 42b4bf9e72501cf228b4086437c7660443933f74
2010-09-11 16:15:55 +00:00
drh
1567acf96a
Add assert() statements to demonstrate that memory allocations are always
...
aligned to an 8-byte boundary (unless SQLITE_4_BYTE_ALIGNED_MALLOC is defined).
FossilOrigin-Name: 305cc4e6c1164b1ede0c3177e3c0f9b8644df0f6
2010-09-11 15:54:53 +00:00
drh
7ff2719e88
Fix an off-by-one error in the scratch memory allocator.
...
FossilOrigin-Name: 5a9591607a0a5ba4527bf2a90179651053244953
2010-09-02 18:13:00 +00:00
drh
1ff6e3ab89
Use sqlite3_mutex_notheld() instead of !sqlite3_mutex_held() inside
...
of assert() statements since the former works when mutexing is disabled
while the latter does not.
FossilOrigin-Name: 2211486b69cf53f5efb1334aff8b403b26596102
2010-09-02 17:15:19 +00:00
dan
b0c6a8884b
If MEM_STATUS is disabled, avoid holding the STATIC_MEM mutex when calling the user-defined xMalloc method. Holding the mutex causes problems for memsys3 and memsys5.
...
FossilOrigin-Name: 4f20f8ba73691c8a1dc33d2fcd1e793dd08f00a8
2010-09-02 10:08:41 +00:00
drh
9f129f467e
Add evidence mark comments to source code. Add additional information to the
...
documentation of sqlite3_release_memory(). Fix a minor inefficiency in mem1.c
that was discovered while writing requirements tests.
FossilOrigin-Name: 53b0c03fd33d2d8141fd386de5493fec64456042
2010-08-31 15:27:32 +00:00
drh
badc980afa
Refactor the implementation of the scratch memory allocator. Add the
...
SQLITE_TESTCTRL_SCRATCHMALLOC interface to facilitate testing.
FossilOrigin-Name: a3475ddfbe4526e6e0b334fd1376ee7c31508b80
2010-08-27 17:16:44 +00:00