Commit Graph

509 Commits

Author SHA1 Message Date
drh
99dfe5eb47 Add the sqlite3_extended_errcode() interface. Change to return
SQLITE_BUSY instead of SQLITE_ERROR when a COMMIT is attempted and one
or more queries are still pending. (CVS 5850)

FossilOrigin-Name: 4c6a90a16627b1664bf7f15ab40b440b3bd60b48
2008-10-30 15:03:15 +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
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
drh
99655beecf Fix an assertion fault that occurs with SQLITE_THREADSAFE=0. (CVS 5799)
FossilOrigin-Name: 28bba42b338afd63e1dad9f431d631f6f3027275
2008-10-11 15:20:04 +00:00
drh
1b67f3caf2 Simplify the symbol hash table to use only a single key class. Other
changes to improve code coverage. (CVS 5794)

FossilOrigin-Name: ff50a8a7e5a15fac192939ff3206fa18d1c5a6dd
2008-10-10 17:41:28 +00:00
drh
e82f5d04c3 Raise the hard upper bound on SQLITE_MAX_FUNCTION_ARG to 1000 from 100.
The default upper bound is still 100, but it can now be raised as high
as 1000 at compile-time. (CVS 5780)

FossilOrigin-Name: 79df72ee836db91647913055ba6cf55558679b01
2008-10-07 19:53:14 +00:00
drh
18472fa7b8 Remove the SQLITE_MUTEX_APPDEF compile-time option. The SQLITE_THREADSAFE=0
option always removes all mutex code.  For application-defined mutexes only,
use SQLITE_THREADSAFE=1 with SQLITE_MUTEX_NOOP=1.  Ticket #3421. (CVS 5779)

FossilOrigin-Name: 02a12eb1cfe9307c66556105a1a99d657cc01ab5
2008-10-07 15:25:48 +00:00
danielk1977
45e60aabc6 Catch another case where SQLITE_IOERR could be returned instead of SQLITE_NOMEM following an out-of-memory error. (CVS 5739)
FossilOrigin-Name: 18d030da0c1755aab458e5aa0d3ad0a714706d67
2008-09-23 17:39:26 +00:00
danielk1977
77eb5bb6f7 Fix a memory leak that can follow a malloc failure in sqlite3_initialize. (CVS 5731)
FossilOrigin-Name: 118dc0ba082dd9abba5602dafc86bd56e756db86
2008-09-22 17:22:19 +00:00
danielk1977
1c82665040 Add header file sqliteicu.h to the ICU extension. This is analogous to the rtree.h and fts3.h headers used by other extensions to declare their entry points. Fix for ticket #3361. (CVS 5680)
FossilOrigin-Name: 79364b963b348d5433da737b4e21e97952882389
2008-09-08 08:08:09 +00:00
drh
039963ad33 Add support for SQLITE_OPEN_FULLMUTEX. (CVS 5669)
FossilOrigin-Name: f2f361a5e2fb81fb0f99e83ecf8bae9a750723b1
2008-09-03 00:43:15 +00:00
danielk1977
a8f83bfc77 Fine tune the hard-coded values passed to sqlite3_init_wsd(). (CVS 5664)
FossilOrigin-Name: af5763eb65baa791a38f7e235624e4f63beac104
2008-09-02 16:22:28 +00:00
danielk1977
502b4e00c6 Move the sqlite3SharedCacheEnabled global and the inProgress static variable (function sqlite3_initialize()) into the global sqlite3Config structure. This is required for the OMIT_WSD feature to work on some platforms. (CVS 5662)
FossilOrigin-Name: 88c82759946910b5ffdd5febc17356403f986c2e
2008-09-02 14:07:24 +00:00
danielk1977
5b775295f0 Modify pcache.c to work with OMIT_WSD. (CVS 5659)
FossilOrigin-Name: 44def90d1bd4e37ab162e16f83e23d32e86b78ab
2008-09-02 09:38:06 +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
59633aeec2 If any error occurs during sqlite3_open(), move the database handle into "sick" state. When in the sick state the user can use sqlite3_errcode() and sqlite3_errmsg(), but not much else. (CVS 5628)
FossilOrigin-Name: ce9c74eaab459ddde213c828e821940f5d6cb354
2008-08-27 19:01:57 +00:00
drh
777c5386c3 Move date+time functions to start-time initialization. Additional
start-time function cleanup. (CVS 5585)

FossilOrigin-Name: 80d6a31cb3851704c09ac9d99fe4bc241df3c180
2008-08-21 20:21:34 +00:00
drh
70a8ca3c1e Initialize the global built-in function table at start-time
instead of at compile-time.  This is less prone to malfunction when
compile-time parameters very. (CVS 5583)

FossilOrigin-Name: ef6936e50adb9ebea39c890167403fff01bbb5ed
2008-08-21 18:49:27 +00:00
drh
7d10d5a6e1 Refactor the name resolution procedures in the code generator. (CVS 5569)
FossilOrigin-Name: daf730d1defa78fb8b80a78f9108ac35a13e09f6
2008-08-20 16:35:10 +00:00
danielk1977
7b7e23bf65 Fix typo in main.c: SQLITE_MAX_ATTACH -> SQLITE_MAX_ATTACHED. Ticket #3319. (CVS 5567)
FossilOrigin-Name: 66ff55efd688703fe99143e4c17e8d5f119d0690
2008-08-20 16:21:12 +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
93ed56d9ea Revise the initialization and shutdown logic so that it no longer keeps
a recursive mutex allocated for the whole interval but instead releases
the mutex as soon as possible.  Do not reset status values upon initialization. (CVS 5559)

FossilOrigin-Name: 697fe7a3167c22a3232ce154e9d47cf75af613c4
2008-08-12 15:21:11 +00:00
drh
6382033cc5 Round lookaside buffer sizes in the right direction. Ticket #3277. (CVS 5547)
FossilOrigin-Name: c1a9bf3863b7bcc69885e4637f18c6532075f982
2008-08-08 14:33:12 +00:00
drh
e9d1c720ee Separate verbs of sqlite3_config() and sqlite3_db_config() into their
own namespaces.  Allow SQLITE3_DBCONFIG_LOOKASIDE to specific an external
memory buffer. (CVS 5536)

FossilOrigin-Name: 5dd865da5e787c10ef4c9e96647724bfab9dea01
2008-08-04 20:13:26 +00:00
drh
4cfb22f798 Fix problems in test scripts. Add new test cases to improve test coverage. (CVS 5521)
FossilOrigin-Name: b65f493c7519e8a5ee632a395b57d45269741dda
2008-08-01 18:47:01 +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
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
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
shane
dfb7b37dc0 Add assertion check for NaN support at startup. (CVS 5447)
FossilOrigin-Name: 8474cde34b3fcb99cd5908fddb8528d0db331cdf
2008-07-22 05:13:30 +00:00
drh
118640bdad Fix a bug in the error reporting of sqlite3_table_column_metadata(). (CVS 5422)
FossilOrigin-Name: 7eba18c3a5c91be2ca2b6cf9e4e04a2791e1f7b2
2008-07-16 14:02:32 +00:00
drh
7830cd41ba Activate testing of mem3 and mem5. Fix problems found. Tickets #3223
and #3225.  Other test configuration changes. (CVS 5419)

FossilOrigin-Name: a3a7820540f6f2285e6c83cac84383fc7d60d267
2008-07-16 12:25:32 +00:00
drh
5d414839f5 Continuing work on improved test coverage. (CVS 5415)
FossilOrigin-Name: c942a38e9aa80770e7e2819e51b43fa7aa854d71
2008-07-15 14:47:18 +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
8a42cbd3f0 Enhancements to the testing logic for malloc and mutex. Only permit one
of MEMSYS3/5 to be compiled-in at a time.  Omit the SQLITE_CONFIG_MEMSYS3/5
configuration options. (CVS 5389)

FossilOrigin-Name: ed8b2525006ae7f8cacd01b291760513fdbdff57
2008-07-10 18:13:42 +00:00
danielk1977
9a6284c1bb Add the SQLITE_OPEN_NOMUTEX flag. Used for opening connections that are not protected by an internal mutex. (CVS 5387)
FossilOrigin-Name: 7e58b78712420b3bd4320192a58d89eb71eecc9c
2008-07-10 17:52:49 +00:00
drh
22c2403a1c Begin adding the failsafe() macro. (CVS 5383)
FossilOrigin-Name: 8aae4fe7e702b7636fba1fd609a0ca22fdcc3371
2008-07-09 13:28:53 +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
fb437278bb Make sqlite3_shutdown() a no-op if the library is not initialized. (CVS 5364)
FossilOrigin-Name: d725d3bbcef6a8093a246f8ef5b11bf690662393
2008-07-08 12:02:35 +00:00
drh
bd0b1b50f4 Make check-in (5356) compatible with builds that do not enable memory
management.  Remove unnecessary code from main.c.  Add out-of-memory
tests for sqlite3_complete16(). (CVS 5357)

FossilOrigin-Name: 28f8b6bfcc3e169f8a54a6681395f2c85bf99cab
2008-07-07 19:52:09 +00:00
drh
d55d57ed5e When sqlite3_create_collation is called with an invalid encoding, return
SQLITE_MISUSE. (CVS 5354)

FossilOrigin-Name: eae4105d8a162ba80ca6fde40ae24fdc6c3eccdf
2008-07-07 17:53:07 +00:00
drh
24b58dd717 Additional test cases added on the sqlite3_create_function() interface. (CVS 5349)
FossilOrigin-Name: 4e941f3d43556d8a503bb96e8a74451de36d243e
2008-07-07 14:50:14 +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
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
29bafeabcd Change the OS_XXX pre-processor symbols to SQLITE_OS_XXX. Symbols "OS_UNIX", "OS_WIN", "OS_WINCE", "OS_OS2" and "OS_OTHER" are now "SQLITE_OS_UNIX", "SQLITE_OS_WIN", "SQLITE_OS_WINCE", "SQLITE_OS_OS2" and "SQLITE_OS_OTHER", respectively. (CVS 5311)
FossilOrigin-Name: cdd4cf4ce2ab363ddc3f27c5e44896e17269a161
2008-06-26 10:41:19 +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