danielk1977 [Wed, 25 Jun 2008 10:34:34 +0000 (10:34 +0000)]
Fix up some details to do with the mem3.c (memsys3) allocator. If the library is compiled with SQLITE_ENABLE_MEMSYS3, the memsys3 allocator can be selected at runtime. (CVS 5303)
drh [Tue, 24 Jun 2008 12:46:30 +0000 (12:46 +0000)]
Fix a problem in sqlite3ExprIsInteger() causing failures on select1-4.9.2.
Other bug fixes in compound-merge. The compound-merge is still disabled
in this check-in using "#if 0" due to additional bugs. (CVS 5295)
drh [Tue, 24 Jun 2008 00:32:35 +0000 (00:32 +0000)]
The compound-select merge optimization is mostly working with this check-in.
But there are still a few problems and so the optimization is disabled by
and "#if 0". This check-in is to synchronize with the other changes happening
in parallel. (CVS 5291)
mihailim [Mon, 23 Jun 2008 21:26:05 +0000 (21:26 +0000)]
Reverted previous checkin (on second thought, changing case could break badly written homegrown parsers such as sometimes encountered in embedded firmware.) (CVS 5289)
mihailim [Mon, 23 Jun 2008 21:18:10 +0000 (21:18 +0000)]
Changed HTML mode output to use lowercase tags making good on the XHTML output promise (the DTDs indeed mandate lowercase) and closing #450. (CVS 5288)
mihailim [Mon, 23 Jun 2008 11:23:14 +0000 (11:23 +0000)]
Fixed wrong type in sqlite3_create_collation16 declaration and definition (UTF-16 string had been passed as const char* instead of const void*) (CVS 5276)
danielk1977 [Mon, 23 Jun 2008 09:50:50 +0000 (09:50 +0000)]
Fix a bug whereby opening a connection to an existing shared-cache caused the cache-size (the value configured by "PRAGMA cache_size") to revert to its default value. (CVS 5274)
drh [Sun, 22 Jun 2008 12:37:57 +0000 (12:37 +0000)]
Fix a bug in the KEYINFO handling within select.c. Change the OP_Move
opcode to take a count and to move multiple registers. Initial code for
the compound-select merge optimization is added but is incomplete
and is commented out. (CVS 5272)
danielk1977 [Sat, 21 Jun 2008 18:07:37 +0000 (18:07 +0000)]
Add test file permutations.test, which runs various other test files with sqlite configured in various ways. This adds a few new tests and replaces test files autovacuum_crash.test, autovacuum_ioerr.test, exclusive3.test, jrnlmode2.test, jrnlmode3.test, jrnlmode4.test, mutex2 and onefile.test. (CVS 5265)
danielk1977 [Sat, 21 Jun 2008 08:12:15 +0000 (08:12 +0000)]
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)
danielk1977 [Fri, 20 Jun 2008 14:59:51 +0000 (14:59 +0000)]
Add a mode to the sqlite3_test_control() interface to register hooks called at the beginning and end of "benign malloc failure" blocks. This allows malloc() failure testing to be done using public APIs only. (CVS 5254)
drh [Thu, 19 Jun 2008 00:16:08 +0000 (00:16 +0000)]
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)
drh [Wed, 18 Jun 2008 15:34:09 +0000 (15:34 +0000)]
Make sure aggregate functions can take any number of arguments up to the
limit imposed by SQLITE_LIMIT_FUNCTION_ARGS. Ticket #3179. Modify
the group_concat() function to take an unlimited number of arguments in
order to facilitate testing this behavior. (CVS 5233)
drh [Wed, 18 Jun 2008 13:27:46 +0000 (13:27 +0000)]
Added new configuration options to query the low-level malloc interface
and to provide memory buffers for scratch, page-cache, and heap memory
allocators. (CVS 5231)
drh [Wed, 18 Jun 2008 02:01:07 +0000 (02:01 +0000)]
Remove mem3.c and mem5.c from the amalgamation for the time being, since
they do not currently work. We will add them back later once they are fixed. (CVS 5229)
danielk1977 [Mon, 16 Jun 2008 14:19:57 +0000 (14:19 +0000)]
Fix a problem with the incremental blob API. sqlite3_blob_open() was always reading the data for the leftmost column of the row that the opened blob was stored in. If this column happened to contain a (the) large blob, sqlite would make a large memory allocation to read the data into. Which defeats the purpose of using incremental blobs. (CVS 5222)
drh [Sun, 15 Jun 2008 02:51:47 +0000 (02:51 +0000)]
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)
drh [Sat, 14 Jun 2008 16:56:21 +0000 (16:56 +0000)]
Continuing progress on the new memory allocation subsystem. Added the
sqlite3_mem_methods structure for defining new memory allocators at
run-time. (CVS 5219)
drh [Fri, 13 Jun 2008 18:24:27 +0000 (18:24 +0000)]
Progress toward implementation of sqlite3_config() and a rework of the
mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218)
drh [Thu, 12 Jun 2008 18:05:40 +0000 (18:05 +0000)]
Fix a typo in the date/time function tests. Add additional cases to
the zeroblob tests to make sure sqlite3_bind_zeroblob() does not use
excess memory. (CVS 5216)
drh [Thu, 12 Jun 2008 16:35:38 +0000 (16:35 +0000)]
Convert the date/time functions to work with milliseconds since the
julian epoch internally (instead of days since the epoch) in order to avoid
problems with floating-point roundoff error. The interface is unchanged. (CVS 5215)
drh [Thu, 12 Jun 2008 13:50:00 +0000 (13:50 +0000)]
Avoid unnecessary float->text->float conversions in date/time processing.
This change necessary to reproduce the problem reported by BareFoot. (CVS 5213)
drh [Thu, 12 Jun 2008 12:51:37 +0000 (12:51 +0000)]
Add the ability to disable the "localtime" modifier in the date/time
functions. This might be necessary for systems that do not support
localtime_r() or localtime_s(). (CVS 5212)