1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-06 15:49:35 +03:00
Commit Graph

1196 Commits

Author SHA1 Message Date
drh
ec424a5be6 Add the capability to track the maximum depth of the LALR(1) parser stack
so that critical applications can check to see if they are getting close
to limits. (CVS 5481)

FossilOrigin-Name: ef0250f3dc769a4acd534f31fa06d90922d4145b
2008-07-25 15:39:03 +00:00
danielk1977
31fab4f30b Updates to mem6.c allocator. (CVS 5473)
FossilOrigin-Name: 43a4cae2acea33d1a17c0037516e9c27fb7e8e91
2008-07-25 08:48:59 +00:00
danielk1977
2d34081de9 Add mem6.c, a new allocator. More to come. (CVS 5467)
FossilOrigin-Name: 192bc192185a7b475ef9331e2a4a0dc68083ec03
2008-07-24 08:20:40 +00:00
drh
4dc754d96d Read the sqlite3_vtab.zErrMsg after each call to a virtual table
method and transfer any error into the database connection.
Fix the fts2.test and fts3.test scripts to that they return
silently rather than failing the test sequence if the appropriate
FTS implementation is unavailable. (CVS 5463)

FossilOrigin-Name: e2c6771d44f1b4fee16ef90e91c3498be2a7d2b1
2008-07-23 18:17:32 +00:00
drh
e8f52c5089 Remove leftover debugging commands (breakpoint and btree_breakpoint) from
test scripts. (CVS 5400)

FossilOrigin-Name: dcb160249fa2d592ad09b8b0052102dc44a93511
2008-07-12 14:52:20 +00:00
drh
34004cebb6 Additional test coverage for the btree module. Remove the failsafe() macro
and replace it with ALWAYS() and NEVER(). (CVS 5395)

FossilOrigin-Name: d7e2f0d2d45574d6191c1b191c0daf5260696f27
2008-07-11 16:15:17 +00:00
drh
93a960a0a8 Remove unused code. Test coverage enhancements. Modify the algorithm used
to select column names for VIEWs of joins so that the constructed column
names omits the underlying table names. (CVS 5386)

FossilOrigin-Name: 636cd723296a8b1709011fdd99b236ffddf3f1b0
2008-07-10 00:32:42 +00:00
drh
22c2403a1c Begin adding the failsafe() macro. (CVS 5383)
FossilOrigin-Name: 8aae4fe7e702b7636fba1fd609a0ca22fdcc3371
2008-07-09 13:28:53 +00:00
drh
a9671a22b3 Remove obsolete code from select.c, including the "affinity" parameter
to the sqlite3Select() module. (CVS 5380)

FossilOrigin-Name: cbd3c1585b7a8f8042aa1448fe1be87de056c41a
2008-07-08 23:40:20 +00:00
shane
1fc4129df7 Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378)
FossilOrigin-Name: 6cdb6841ff4683e424ef394733da9c24f5602570
2008-07-08 22:28:48 +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
drh
0a687d123e Improved enforcement of the SQLITE_LIMIT_LENGTH limit. (CVS 5368)
FossilOrigin-Name: ee93150878436ce6e992ea8a1d348fb58b03b5e2
2008-07-08 14:52:07 +00:00
danielk1977
0d84e5b2a7 Fix mem3.c (broken by (5320)). (CVS 5321)
FossilOrigin-Name: fef90a21aea11f15371d3fcf44548d786dd8819b
2008-06-27 14:05:24 +00:00
danielk1977
5099be5e85 Change mem5.c so that the minimum allocation size is runtime configurable. (CVS 5320)
FossilOrigin-Name: 4f95f4cdf77e134fab42148e10198c7b008d4ae6
2008-06-27 13:27:03 +00:00
danielk1977
0cdc022e88 Fix handling of "x IN (...)" and "x NOT IN (...)" expressions when the set contains an SQL NULL value. (CVS 5314)
FossilOrigin-Name: d45a97be71fa61ab4a692bd807ab762130f7f5b9
2008-06-26 18:04:03 +00:00
danielk1977
b06a0b67c4 Change the TEMP_STORE preprocessor symbol to SQLITE_TEMP_STORE. (CVS 5312)
FossilOrigin-Name: 1e3b8308021107d983d2152663f62b369cca091d
2008-06-26 10:54:12 +00:00
danielk1977
71bc31c68d Fix a race condition in sqlite3_initialize(). (CVS 5310)
FossilOrigin-Name: 70b2ed2afcf1757d1c58f3a83dad4a5fb226ae63
2008-06-26 08:29:34 +00:00
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