1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-09 14:21:03 +03:00
Commit Graph

58 Commits

Author SHA1 Message Date
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
drh
6a1e071f3d Make use of sqlite3DbMallocSize to maximize the size of growable buffers
after each reallocation.  Added new comments and testcase() macros to
where.c. (CVS 5981)

FossilOrigin-Name: 46f2d08959423e130a5b346138311649d92f0fde
2008-12-05 15:24:15 +00:00
danielk1977
62c14b3487 Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +00:00
danielk1977
cdcfe95cec Reduce the number of "missing initializer" warnings. (CVS 5915)
FossilOrigin-Name: d68e2795e72f1bfc0bf3b8e75cdec2e0b3d5bfcb
2008-11-18 07:27:24 +00:00
danielk1977
00e136135e Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914)
FossilOrigin-Name: 8009220c36635dd9b6efea7dc13281ca9625c40a
2008-11-17 19:18:54 +00:00
shane
eec556d3b7 Added SQLITE_OMIT_DEPRECATED compile time option to leave out deprecated functions. Updated test scripts to skip tests of deprecated functions if they are compiled out. (CVS 5808)
FossilOrigin-Name: ba3711acee6f4659bbf133a23d8f9f37e14d0f38
2008-10-12 00:27:53 +00:00
drh
ddecae7995 Fix to sqlite3DbMallocRaw() when SQLITE_OMIT_LOOKASIDE is defined so that
once it fails it continues to fail.  Add a comment explaining why this is
important. (CVS 5804)

FossilOrigin-Name: 63dd8be70d333c56171dfd254406abb1af685b0f
2008-10-11 17:35:16 +00:00
drh
4150ebf86f Added an assert() to detect lookaside memory leaks. Also added the
SQLITE_OMIT_LOOKASIDE compile-time option which is useful in trying to
track down lookaside memory leaks. (CVS 5800)

FossilOrigin-Name: 0c4c66071a46cecc5f87afb8f8f01ae2c90ee9b3
2008-10-11 15:38:29 +00:00
danielk1977
98c21903bd Always transform error code SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. This was already happening in most places. (CVS 5738)
FossilOrigin-Name: 046ef07261d520c9399bd8cdfdfd5281956b7a27
2008-09-23 16:41:29 +00:00
shane
4a27a28635 Modified core to not call deprecated functions sqlite3_memory_alarm() and sqlite3_transfer_bindings() by adding sqlite3MemoryAlarm() and sqlite3TransferBindings(). sqlite3_memory_alarm() and sqlite3_transfer_bindings() are now simple wrappers for the new functions. In prep for adding SQLITE_OMIT_DEPRECATED. (CVS 5672)
FossilOrigin-Name: 821c387d159fd86cedb56c1130f0416bf5c65e6c
2008-09-04 04:32:49 +00:00
danielk1977
23bf0f41ea Explicitly initialize at least the first field of every struct. This is to work around compilers that don't like the syntax "struct XXX { ... } yyy = {};". (CVS 5666)
FossilOrigin-Name: 88bfdc87471e65ac5a262a794b8cdf3e563eb327
2008-09-02 17:52:51 +00:00
danielk1977
5c8f858790 Change some more global variables to work with OMIT_WSD. (CVS 5660)
FossilOrigin-Name: 46acaf58e11ebe69e4fb5f171d3ee29f056d8e68
2008-09-02 10:22:00 +00:00
danielk1977
075c23af26 Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652)
FossilOrigin-Name: 573d92abb9adb1c321ebc2fcadcf14374213b093
2008-09-01 18:34:20 +00:00
danielk1977
8183e339d0 Move a call to sqlite3_mutex_leave() to protect calls to sqlite3StatusAdd() related to scratch (SQLITE_CONFIG_SCRATCH) memory. (CVS 5641)
FossilOrigin-Name: 4e011ddf9e483e3f7c7427205e50f7c3e5616790
2008-08-29 17:56:12 +00:00
danielk1977
67e3da7ad4 Fix the functionality associated with sqlite3_release_memory() and sqlite3_soft_heap_limit(). It is automatically disabled if the SQLITE_CONFIG_PAGECACHE option is used. (CVS 5576)
FossilOrigin-Name: d025866b09352b32a6d35b97144eaad2fafb7165
2008-08-21 12:19:44 +00:00
danielk1977
8c0a791a58 Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566)
FossilOrigin-Name: cb494e10d71852024647aaa254203579ad438ea9
2008-08-20 14:49:23 +00:00
drh
e50135e26d Add SQLITE_STATUS_PAGECACHE_SIZE and SQLITE_STATUS_SCRATCH_SIZE. (CVS 5537)
FossilOrigin-Name: c4e9b824062ba82a8db01cd82e3e681de1940208
2008-08-05 17:53:22 +00:00
drh
6480aad473 Test cases for sqlite3_db_config() and sqlite3_db_status(). (CVS 5518)
FossilOrigin-Name: 6a6b94302acdfe6404b04bff1cc8d16c1ef69df9
2008-08-01 16:31:14 +00:00
drh
0a60a384e7 Change the definition of SQLITE_CONFIG_PAGECACHE and
SQLITE_CONFIG_SCRATCH to omit the magic "+4" in the buffer size
calculation. (CVS 5512)

FossilOrigin-Name: e7ed0fe640a39053009eac52a7f055b121750e57
2008-07-31 17:16:05 +00:00
drh
5f4bcf15d1 Enhancements to the pagecache malloc test configuration. Changes to the
speed test scripts to use the new test enhancements. (CVS 5494)

FossilOrigin-Name: 0ce39c21f32958ae53c00dc8bbf8cdd453f2d90e
2008-07-29 14:29:06 +00:00
drh
633e6d57d9 Implement the "lookaside" memory allocation cache. Use of this cache makes
the speed1.test script run about 15% faster.  Added new interfaces to
control the cache. (CVS 5488)

FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00
drh
c702c7ccdd Use the actual size of memory allocations to update the memory status
counters.  Fix the roundup() function of mem3 to be much closer to the
actual allocation size.  Ticket #3226. (CVS 5440)

FossilOrigin-Name: 5c22132eb171058f30ec5b7562b8164611236748
2008-07-18 18:56:16 +00:00
drh
7986a71a19 Fix a bug introduced by check-in (5406). Ticket #3216. (CVS 5407)
FossilOrigin-Name: 518a24aa3e042782fbf2e805cf080b61e58a8150
2008-07-14 12:38:20 +00:00
drh
c376a19890 Work around a bug in Borland C. Ticket #3216. (CVS 5406)
FossilOrigin-Name: 2c24e50da6f6c19dee105823125157db73bdd515
2008-07-14 12:30:54 +00:00
drh
f089aa459e Completely rework the sqlite3SetString() primitive so that it honors the
SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374)

FossilOrigin-Name: 8ed04b1e26a55306e4baf3e93fb084514134d603
2008-07-08 19:34:06 +00:00
danielk1977
867d05a019 Fix some codewarrior compilation problems. (CVS 5278)
FossilOrigin-Name: e6ea8f87c102bd36ab0f2fbc8360fde49f4e3422
2008-06-23 14:03:45 +00:00
danielk1977
8468024da8 Correct comments above sqlite3_release_memory() and sqlite3_soft_heap_limit(). Ticket #3138. (CVS 5275)
FossilOrigin-Name: 3240446853a11f5a1e379d4841d0268873aad64d
2008-06-23 11:11:35 +00:00
danielk1977
4b9507a0f1 Fix a problem in the test suite that could cause a crash if using a pre-allocated block of memory for pages (the problem was that sqlite3_shutdown() was being called while there were still open database connections). (CVS 5259)
FossilOrigin-Name: 3d413e9b466a871650597407016131df4d07b3d2
2008-06-21 08:12:15 +00:00
danielk1977
d09414cdd6 Move the malloc() failure simulation out of malloc.c and into a separate sqlite3_mem_methods interface. Still some related changes to come. (CVS 5250)
FossilOrigin-Name: d22cd2a59f472f4eaf80aa9f55fbff2514ca428d
2008-06-19 18:17:49 +00:00
drh
f714199054 Add some test logic to the new memory allocation subsystem. (Lots more needed.)
The test suite is currently indicating memory leaks, though it is unclear if
this is a true code problem or just an instrumentation problem. (CVS 5240)

FossilOrigin-Name: cb1f11cd9764cf0275e88e1f6342e366e5536bfd
2008-06-19 00:16:08 +00:00
drh
9ac3fe979f Added support for scratch-memory lookaside allocations. Largely untested.
Added calls to sqlite3_initialize() within malloc APIs. (CVS 5237)

FossilOrigin-Name: 383a78601c70cd832c171344857038e345b9ae5c
2008-06-18 18:12:04 +00:00
danielk1977
59f8c08ecc Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234)
FossilOrigin-Name: 5059644c4bc5f6679afd939e0bc26080f42a9918
2008-06-18 17:09:10 +00:00
drh
facf030792 Add internal interfaces: PageMalloc/PageFree and ScratchMalloc/ScratchFree. (CVS 5226)
FossilOrigin-Name: 3e797d0ffe1af6f7512b3fb7b387418ac05671e0
2008-06-17 15:12:00 +00:00
drh
e5ae5735c0 Continuing work on the new memory allocation subsystem.
Added routines for temporary memory allocation.  Right the btree
balance mechanism to only do one temporary allocation at a time. (CVS 5220)

FossilOrigin-Name: 65fe7b62cfe7d11cd667681a64c96fe7b2fe5685
2008-06-15 02:51:47 +00:00
drh
fec00eabb3 Continuing progress on the new memory allocation subsystem. Added the
sqlite3_mem_methods structure for defining new memory allocators at
run-time. (CVS 5219)

FossilOrigin-Name: f00305f4cd2f487f660f34a21c1c24a0b37c7275
2008-06-14 16:56:21 +00:00
danielk1977
dfb316d432 Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922)
FossilOrigin-Name: 8c2f69521f13bc24cf005520efbe0589eeadd763
2008-03-26 18:34:43 +00:00
drh
979aeaa395 Add the new memory allocator to the amalgamation. Improvements to
out-of-memory handling. (CVS 4498)

FossilOrigin-Name: b58c2b37a5deb19ce0ef78629989016743a46bb3
2007-10-20 16:36:31 +00:00
danielk1977
26783a58e2 Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323)
FossilOrigin-Name: c790c234c369c6b7610e67dcaaa9eee347df729c
2007-08-29 14:06:22 +00:00
danielk1977
a1644fd863 Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321)
FossilOrigin-Name: e38ef81b85feb5bff2ad8448f3438ff0ab36571e
2007-08-29 12:31:25 +00:00
drh
153c62c461 The win32 driver compiles but does not yet work well. Many bugs
fixed. (CVS 4282)

FossilOrigin-Name: 3a68fcddfa9184e4b310ce0a21312c54b9462ec8
2007-08-24 03:51:33 +00:00
drh
f3a65f7e44 The malloc.test script now passes all tests with no errors. (CVS 4271)
FossilOrigin-Name: db818430e9ea4ef4a4af575784009d5acae785a3
2007-08-22 20:18:21 +00:00
drh
86f8c197dd Reenable the memory management logic. The quick.test script now runs with
SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265)

FossilOrigin-Name: 1914044b8832041f13b20ead613bd13725425d7a
2007-08-22 00:39:19 +00:00