danielk1977
c0fa4c5f32
Remove internal function sqlite3OsDefaultVfs(). The built-in VFS layers now register their VFS implementations by calling sqlite3_vfs_register() from within sqlite3_os_init(). (CVS 5307)
...
FossilOrigin-Name: 8fa33b79d7369ec5777fd9ad3349f0fa31b98fd6
2008-06-25 17:19:00 +00:00
danielk1977
c66c0e14a6
Fix the allocator in mem5.c so that it can be enabled at run time using the sqlite3_config() function. (CVS 5304)
...
FossilOrigin-Name: 30ff6bb0b2d1068d28e86ac90bb9f454e4537a2d
2008-06-25 14:26:07 +00:00
danielk1977
32155ef0ff
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)
...
FossilOrigin-Name: 9c6c8e01b31abfe2bc8e650bbfdb504021dc7e59
2008-06-25 10:34:34 +00:00
drh
f6e369a119
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)
FossilOrigin-Name: 95037e6dbf4ed0ffd38790f3270dcaa4c1ae64ed
2008-06-24 12:46:30 +00:00
drh
92b01d53c2
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)
FossilOrigin-Name: e2ba324cbcac0ba35bbde50048677e085abb092b
2008-06-24 00:32:35 +00:00
danielk1977
867d05a019
Fix some codewarrior compilation problems. (CVS 5278)
...
FossilOrigin-Name: e6ea8f87c102bd36ab0f2fbc8360fde49f4e3422
2008-06-23 14:03:45 +00:00
danielk1977
171bfed311
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)
...
FossilOrigin-Name: 0492aa8ed3c35dd2cdfc69c9cb87e43ef0460826
2008-06-23 09:50:50 +00:00
drh
b21e7c70f7
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)
FossilOrigin-Name: 663a590e3086145a57af7569d8f798b6b6a8b76c
2008-06-22 12:37:57 +00:00
drh
e00ee6eb37
Change the SRT_Subroutine mode into SRT_Coroutine. Use co-routines in
...
the INSERT processing logic. (CVS 5255)
FossilOrigin-Name: 6b9d92fc3f265ef75c9182e537812490bb818950
2008-06-20 15:24:01 +00:00
danielk1977
2d1d86fbbe
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)
...
FossilOrigin-Name: 56c8af1452dfdc8da858a2411bd6f3663a8a9326
2008-06-20 14:59:51 +00:00
danielk1977
ef05f2dfe3
Move (almost all) malloc failure test logic from fault.c to test_malloc.c. (CVS 5253)
...
FossilOrigin-Name: 4ae21e3419ad7e69dd735ca45fdc5a2de93d1840
2008-06-20 11:05:37 +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
65bbf29ee3
Bug fixes: Plug a memory leak introduced by the previous check-in. Get
...
the amalgamation to the point where it will compile. (CVS 5241)
FossilOrigin-Name: 005f8eaef5ae05cef5c76f3afe299eaa2cf8af2f
2008-06-19 01:03:17 +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
danielk1977
d025174f0b
Remove public APIs sqlite3_mutex_init() and sqlite3_mutex_end(). This commit only changes the code, documentation is not updated yet. (CVS 5238)
...
FossilOrigin-Name: 42a2a8f49324e2e07b81fd08e24f636a2d98a961
2008-06-18 18:57:42 +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
335897970c
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)
FossilOrigin-Name: e36201a352f832c97c5c0fcb872c1f094cac03d2
2008-06-18 13:27:46 +00:00
danielk1977
6d2ab0e431
Change the mutex interface to be pluggable. This is an incremental checkin, there are still changes to come. (CVS 5227)
...
FossilOrigin-Name: 597283637bcdc2398bf249b2bbc6ded47ad2de22
2008-06-17 17:21:18 +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
drh
40257ffd0a
Progress toward implementation of sqlite3_config() and a rework of the
...
mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218)
FossilOrigin-Name: a03c5af115889f477e17187a198a7d2d40bc76bf
2008-06-13 18:24:27 +00:00
drh
2eb95377ef
Remove the subroutine return stack from the VDBE. Return addresses
...
for subroutines are now stored in registers. (CVS 5191)
FossilOrigin-Name: ef1956eebcaf5aca51af8c3b406b1fd4b1f391a7
2008-06-06 15:04:36 +00:00
danielk1977
4b5255ac31
Reorganize some of the code that detects expression trees with a depth greater than EXPR_MAX_DEPTH so that they are detected earlier. This further reduces the opportunities for stack overflow. (CVS 5189)
...
FossilOrigin-Name: 16d4c53a8e4d3cfc1abac3b8bb44d8bfd9471e32
2008-06-05 16:47:39 +00:00
drh
0224d26d37
Allow the SQLITE_MAX_EXPR_DEPTH compile-time parameter to be set to 0 in
...
order to disable expression depth checking. Ticket #3143 . (CVS 5166)
FossilOrigin-Name: 5ceef40e397fc535173996404345b93f695e8cac
2008-05-28 13:49:34 +00:00
drh
4873d5f614
Make the benign-fault setting recursive. Make all malloc failures
...
during a rollback benign since there is nothing we can do about them. (CVS 5128)
FossilOrigin-Name: a9d1d931358637a6f039723a053098f65530de4b
2008-05-13 13:27:33 +00:00
drh
0f050353e9
Reformulate the constants for the minimum and maximum 64-bit signed
...
integer to work better with some compilers. Ticket #3105 . (CVS 5113)
FossilOrigin-Name: 18b1ee10b89bd0a98d1986dbb04b9d6cfc3dad39
2008-05-09 18:03:13 +00:00
mlcreech
1e12d43b48
Only look for config.h if the autoconf-based build is being used, and don't inline it into the amalgamation. (CVS 5093)
...
FossilOrigin-Name: 7df9ef2c8216133d50bf4737482f51193e8579b0
2008-05-07 02:42:01 +00:00
drh
e265b08458
Fix harmless compiler warnings. (CVS 5073)
...
FossilOrigin-Name: 227a6f67c21c87a7cf98f84b9d57a6dc9da93ebb
2008-05-01 17:03:49 +00:00
drh
4f3dd1502e
Make sure that transactions are started on all virtual tables that
...
changes in a single statement, not just the first. Ticket #3083 .
Need to add test cases. (CVS 5063)
FossilOrigin-Name: 133b7ee50ea6012739ebe0e334374c5d9b1fcc7f
2008-04-28 18:46:43 +00:00
shane
952856ad3a
Modified Varint32 functions to disable code for single-byte handling as it is already handled by their respective macro forms. (CVS 5062)
...
FossilOrigin-Name: be10f5dda6e9c245c05b51840c173e83ece6b245
2008-04-28 17:41:30 +00:00
drh
0de3ae95d5
Change the implementation of the NaN recognition to be more cross-platform.
...
Ticket #3089 . (CVS 5060)
FossilOrigin-Name: 07fd9a8c6ca0876f7ec447ce65173957005dc75c
2008-04-28 16:55:26 +00:00
drh
06af763e30
Restore the #include of stdint.h removed in (5051). (CVS 5056)
...
FossilOrigin-Name: e96e8b9b4137c3ea239674683cf9fd8682851908
2008-04-28 12:54:15 +00:00
drh
7209c697a1
Remove all references to sqlite3_intptr_t. (CVS 5051)
...
FossilOrigin-Name: 6a94d19747a05df2694d3720f76de3dab3836578
2008-04-27 18:40:11 +00:00
shane
3f8d5cfcad
Consolidated varint macro usage from btreeInt.h, vdbe.c, and vdbeaux.c into sqliteInt.h and made their use consistent. Slight improvements to varint32 macros. (CVS 5045)
...
FossilOrigin-Name: 0d04ccd97841bbbda564cc6ae5da057ee3888fa3
2008-04-24 19:15:09 +00:00
drh
3b02013e73
Add the journal_mode pragma. This is currently just syntax - it is not
...
operational. (CVS 5024)
FossilOrigin-Name: 8eaa0c71023ac428f6f9f8091341584caa773ab9
2008-04-17 17:02:01 +00:00
drh
f93d99990c
Do not attempt to omit unused columns of a view in an instead-of trigger
...
since sometimes those columns can be used in ways that we do not expect.
Ticket #3055 . (CVS 5012)
FossilOrigin-Name: f5fc42e96d36b78797d7fa10b01d22b8501112b1
2008-04-15 14:36:42 +00:00
drh
191b54cb5d
Fix a code generator bug caused by the new CSE optimization. Add test cases
...
to prevent a recurrence. (CVS 5011)
FossilOrigin-Name: d04246a46399e839e70b1bd57e209f80143f0d5b
2008-04-15 12:14:21 +00:00
drh
e296582705
Disable nuisance warnings on borland compilers. ticket #2936 . (CVS 4982)
...
FossilOrigin-Name: 1e094ecfd7c6feaf8d524aa3c1477910b2328946
2008-04-10 16:47:41 +00:00
drh
08c88eb0d3
First cut at optimizing single-row updates to use a one-pass algorithm. (CVS 4973)
...
FossilOrigin-Name: fba97f7874d723111e873d1470fc1a95e64f922d
2008-04-10 13:33:18 +00:00
drh
35b5a33e24
Add the sqlite3PutVarint32 routine as an alternative to sqlite3PutVarint.
...
Gives 0.5% speed increase. (CVS 4968)
FossilOrigin-Name: b2517a7d8f7275943d44cc301f9d54fc8a4653e7
2008-04-05 18:41:42 +00:00
drh
47de955ea9
Avoid factoring single-instruction constants that end up getting replaced
...
by an SCopy instruction. (CVS 4952)
FossilOrigin-Name: e84ff57b6217afa84d60547dcc3a270b5e116818
2008-04-01 18:04:11 +00:00
drh
c5499bef4b
Add the testcase() macro. Additional CSE test coverage. (CVS 4951)
...
FossilOrigin-Name: 492490f9c86e52c7a706d9e1bf0ba216d5bb8aba
2008-04-01 15:06:33 +00:00
drh
da250ea599
Fix the CSE mechanism so that it takes into account column affinity
...
changes that might be imposed by comparison operators. (CVS 4949)
FossilOrigin-Name: 91cc646e2b0c1d62a1989405cc9384a2c22d98d0
2008-04-01 05:07:14 +00:00
drh
2f7794c111
More test cases and bug fixes with CSE. (CVS 4948)
...
FossilOrigin-Name: 7e8156129d6d240fe046bbc4ea269ebe1657e2a1
2008-04-01 03:27:39 +00:00
drh
652fbf55c5
Initial test cases and bug fixes in the CSE logic. (CVS 4946)
...
FossilOrigin-Name: e5aff09ac693946dc7ebb2f245b6434995b12155
2008-04-01 01:42:41 +00:00
drh
e55cbd7228
Avoid duplicate OP_Column opcodes by remembering prior results.
...
This is similar to CSE, but only applies to columns. (CVS 4943)
FossilOrigin-Name: c29ee0fed23dcdbd9dde6b1e42b603100ea2389c
2008-03-31 23:48:03 +00:00
drh
678ccce8b3
Factor constant subexpressions out of loops. (CVS 4942)
...
FossilOrigin-Name: 2126db39854c751aea6c95c67894ed9b9dfc0763
2008-03-31 18:19:54 +00:00
drh
ad27e76110
Make sure an imbalance in the number of columns on a compound SELECT is
...
detected and reported as an error before it can cause an assertion fault
or array-bounds overflow in the code generator.
Oops: part of the fix for ticket #3015 got included with this
check-in by mistake. (CVS 4917)
FossilOrigin-Name: 50de87dc808820a70d3a99277f532e418a2f97e2
2008-03-26 12:46:23 +00:00
drh
e14006d0de
Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather
...
than a record formed using {quote: MakeRecord.} This avoids a needless packing
and unpacking of the record to be deleted. (CVS 4916)
FossilOrigin-Name: ee381b43563e1b0637ee74389d076dff77deddf9
2008-03-25 17:23:32 +00:00