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
drh
50d1b5f363
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.
FossilOrigin-Name: 51049479a8577e03cc353f71f6e13a10c8323d91
2010-08-27 12:21:06 +00:00
drh
81ba7d16b7
Fix a bug in the SQLITE_STATUS_MALLOC_COUNT counter. Add an ALWAYS() around
...
a condition in the SQLITE_DBSTATUS_SCHEMA_USED logic that is always true.
FossilOrigin-Name: 6df081adbfa581c477bd2c96bb3f7f44be131a8f
2010-07-26 19:09:31 +00:00
drh
eafc43b156
Add the SQLITE_STATUS_MALLOC_COUNT option for sqlite3_status().
...
FossilOrigin-Name: 8f8e442b3af553753e25c304efa289b626e3a227
2010-07-26 18:43:40 +00:00
dan
ccd4ad3e6c
Add virtual table test cases to dbstatus.test.
...
FossilOrigin-Name: 72b84d066a4eac90a77142c3ea66ef3d21a1104e
2010-07-26 14:47:14 +00:00
drh
174b9a166d
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree()
...
and all memory from sqlite3_malloc() is freed by sqlite3_free().
FossilOrigin-Name: 629e38a8c9e31111e351fe4625a5835576d23584
2010-07-26 11:07:20 +00:00
drh
b975598ea0
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and
...
all memory from sqlite3_malloc() is freed by sqlite3_free().
FossilOrigin-Name: ac1f37a647e9ed1c00a901d26d9956a86c40117a
2010-07-24 16:34:37 +00:00
dan
d46def77db
Experimental code to measure memory consumed by database schemas and prepared statements.
...
FossilOrigin-Name: 9aa30342f4de4eff630520ea8e07ad253d3f0877
2010-07-24 11:28:28 +00:00
drh
7c2ed2ac25
Strenghten an assert() in malloc.c that helps to ensure that allocated memory
...
is freed by the appropriate routine.
FossilOrigin-Name: 80db61acca034a8edff0fd23a65a0bbc9206a7b3
2010-07-23 17:32:23 +00:00
drh
37f9918758
Fix two asserts on the scratch allocator to allow for up to two outstanding
...
scratch allocations per thread.
FossilOrigin-Name: f149b498b6ada3fc9f71ee104c351554c80c7f8a
2010-06-26 20:25:30 +00:00
drh
107b56e86d
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.
FossilOrigin-Name: c2af2164cf7b279ebb3e08201561348be6e765df
2010-03-12 16:32:53 +00:00
drh
c81c11f62c
Remove the obsolete "$Id:$" RCS identifier strings from the source code.
...
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
drh
40f75cf389
Remove some obsolete code within #if 0 that was causing developer concern.
...
FossilOrigin-Name: 1d64e9453fb59d2bb1b5cb0cbacaf135b8f928c3
2009-10-26 22:08:21 +00:00
drh
7c6791c8b1
Fix obscure issues with the memsys5 memory allocator. Arrange that the
...
xRealloc() interface to memory allocators is only called with a value
that has been through xRoundup().
FossilOrigin-Name: 577bd6f15556b7f6d86ee5167353fdd535577bf6
2009-08-18 14:48:53 +00:00
drh
9ac06509f1
Enhanced documentation and minor code tweaks in preparation for hardening
...
the sqlite3_initialize/shutdown interfaces against initialization failures.
FossilOrigin-Name: 98c49e6135ae6268a80de88f8b0284f88ef32e1d
2009-08-17 13:42:29 +00:00
drh
f18a61dd59
Code simplifications in support of structural testing. (CVS 6900)
...
FossilOrigin-Name: fb1b955dda5105025ef199880afa871e44331d65
2009-07-17 11:44:07 +00:00
drh
e64ca7ba11
Code simplifications and comment improvements in support of structural
...
coverage testing. (CVS 6899)
FossilOrigin-Name: 945251798144110787b197f9eb552a2dd4a25cb4
2009-07-16 18:21:17 +00:00
drh
b6063cf823
Fix a bug in sqlite3_realloc() - if called with a size of more than
...
2147483392 it returns 0 but it also releases the prior allocation. (CVS 6827)
FossilOrigin-Name: 653df0afcc58de82c8c1b5f6a7b2f4829ff69792
2009-06-27 00:48:33 +00:00
drh
e08ed7e71b
Remove incorrect NEVER() macros from malloc.c. The allocations can be
...
exceeded using sqlite3_malloc() and sqlite3_realloc(). (CVS 6826)
FossilOrigin-Name: 0d345e5923ff92a87195f6c04a29a56bf67ee43c
2009-06-26 18:35:16 +00:00
drh
dee0e404d6
Changes to facility full coverage testing of util.c. (CVS 6597)
...
FossilOrigin-Name: a612299092a48b38c5f9cf430bbcaf41777cbcb3
2009-05-03 20:23:53 +00:00
drh
d9da78a2c8
Changes to insure that lookaside memory allocations are never used to hold
...
schema content.
Ticket #3743 . (CVS 6377)
FossilOrigin-Name: ea74d8dc62f5784089aa8ef098e97c505a79b176
2009-03-24 15:08:09 +00:00
drh
7047e25c45
Add asserts to make sure that database connection locks are held when
...
accessing the lookaside memory allocation buffers. No defects were found. (CVS 6374)
FossilOrigin-Name: 8a9f3e66069146ad1b1bc2686567882dc87603a9
2009-03-23 17:49:14 +00:00
danielk1977
bc73971db6
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)
...
FossilOrigin-Name: db1d4d2f5083adf5438c7f387b115180800e7bd9
2009-03-23 04:33:32 +00:00
shane
be21779385
Corrected typos and misspellings. Ticket #3702 . (CVS 6336)
...
FossilOrigin-Name: 6404afa0c515a6536fc2e878d4fb451e4dc06942
2009-03-05 04:20:31 +00:00
drh
e1935f2367
Remove code in malloc.c that was already commented out using #if 0. (CVS 6306)
...
FossilOrigin-Name: e1ad757ec0abead25265f9251c954d2497bccc06
2009-02-19 20:50:14 +00:00
drh
50b6568454
Add tests to double-check that nothing within SQLite ever tries to allocate
...
amounts of memory that are close to the maximum signed integer, leading to
an integer overflow within malloc(). This is not currently a problem.
The extra tests just insure it never becomes a problem. (CVS 6298)
FossilOrigin-Name: f6ba7bb9152cffc9f67dfa7de12e36a3244b7e03
2009-02-17 18:37:28 +00:00
danielk1977
0a54907159
Allow sqlite3_shutdown() to be called by a process before sqlite3_initialize() is. Prior to this commit such a call could segfault. (CVS 6296)
...
FossilOrigin-Name: 79431c58d964d6057c7f42f7c1df74f3df4493eb
2009-02-17 16:29:10 +00:00
danielk1977
78ca0e7eb4
When not compiling for an EBCDIC system, use built-in alternatives to the tolowe
...
r(), toupper() and other ctype.h library functions. Ticket #3597 . (CVS 6196)
FossilOrigin-Name: 1041abd6784d283bebf646c54e93599522f7889d
2009-01-20 16:53:39 +00:00
shane
153015969b
Fix a compile error in an assert() and a warning with MSVC builds. (CVS 6032)
...
FossilOrigin-Name: 8b8f6a6ab597e06e60557ab56c6ee7f8522ed570
2008-12-16 17:20:38 +00:00
drh
66e8008404
Make sure the memory returned from sqlite3ScratchMalloc() is 8-byte aligned.
...
Ticket #3542 . (CVS 6031)
FossilOrigin-Name: 13b56b7ff97c3abc116dae934f6d1330bbb7762d
2008-12-16 13:46:29 +00:00
drh
1bd10f8a00
Additional work at eliminating silly compiler warnings. (CVS 6010)
...
FossilOrigin-Name: ea01d43788a75e39c7f03c22681d1a338d52cf0e
2008-12-10 21:19:56 +00:00
drh
ea6788322e
Never use strlen(). Use our own internal sqlite3Strlen30() which is
...
guaranteed to never overflow an integer. Additional explicit casts to
avoid nuisance warning messages. (CVS 6007)
FossilOrigin-Name: c872d554930ecf221ac2be5f886d5d67bb35288c
2008-12-10 19:26:22 +00:00