Commit Graph

7675 Commits

Author SHA1 Message Date
drh f84ddc183d Improved documentation of sqlite3_blob_open(). (CVS 4910)
FossilOrigin-Name: 1ed695f560a58786f2a8467c601f281c67034fd4
2008-03-24 12:51:46 +00:00
drh cfc2e7fdda Remove redundant tests from the reparenter in the btree module. (CVS 4909)
FossilOrigin-Name: a807e7184b857414ce203af129ac1adf2012096c
2008-03-23 00:20:36 +00:00
drh 3f913576e5 Add the SQLITE_OMIT_DECLTYPE compile-time option. Remove more code when
SQLITE_ENABLE_COLUMN_METADATA is not defined. (CVS 4906)

FossilOrigin-Name: 8ef26646cff9be75c584a9abfcfffcfdb49b3969
2008-03-22 01:07:17 +00:00
drh 3b6f734b44 Defer allocating memory space to hold the array of column values and
names in sqlite3_exec() until there is a need to use the array.  In
the common case where there is no callback, this avoids a malloc() call. (CVS 4905)

FossilOrigin-Name: d8686abcdf9e566571033f2f137142f742df9357
2008-03-21 18:01:14 +00:00
drh 2dca868075 Make sure the text result of an aggregate function has the correct
encoding.  Ticket #3009. (CVS 4903)

FossilOrigin-Name: 13e388cecf53d680a79ef29ff4e82e59de8f1264
2008-03-21 17:13:13 +00:00
drh 3088d59e06 Add a completely new testing system for the Bitvec object. The new
testing system uses sqlite3_test_control() instead of unpublished
APIs.  Now provides 100% condition/decision coverage.  Obscure bugs
in Bitvec found and fixed as a result of the enhanced coverage. (CVS 4902)

FossilOrigin-Name: 2498d3ea36ecab6d9c0f04ef1c49d76a7a215a4f
2008-03-21 16:45:47 +00:00
danielk1977 6f332c18d9 Add some more logging to the malloc system used when SQLITE_MEMDEBUG is defined. (CVS 4901)
FossilOrigin-Name: 79738f582fbac87f2d335e0c6b7f53e3054b41ba
2008-03-21 14:22:44 +00:00
drh f47ce56c49 In the sqlite3_limit() interface, take out the feature where zero means
use the hard upper bound.  If an application wants the hard upper bound,
it can set the limit to 0x7fffffff and the bound will be automatically
truncated. (CVS 4900)

FossilOrigin-Name: d6be1f495ec57158f7bcca3e32145a9a8fde723a
2008-03-20 18:00:49 +00:00
drh b1a6c3c1cc Reinstate test cases for the limit tests. The sqlite3_limit() API is now
tested and working. (CVS 4899)

FossilOrigin-Name: 4c4be4c3c8aae97f1d85442b25afba9f0b02c8b3
2008-03-20 16:30:17 +00:00
drh bb4957f858 Initial implementation of per-connection limits and the sqlite3_limit() API.
The sqllimits1.test script crashes.  SQLITE_LIMIT_PAGE_COUNT and
SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897)

FossilOrigin-Name: 60c77882b2de9f6a45f8bd87c9c6a0cc613f8373
2008-03-20 14:03:29 +00:00
danielk1977 f653d78282 Allow a VACUUM operation to change the page-size in the same way as it can be used to change a database between auto-vacuum and normal mode. (CVS 4896)
FossilOrigin-Name: 871df0e7c36a88f175cfc63797745e52a1b1796b
2008-03-20 11:04:21 +00:00
danielk1977 67c007bf4b Write the page-size into the first journal-header of each journal file. (CVS 4894)
FossilOrigin-Name: 79f573cc7be89b3dd5540c45ef132b5cedc98e9b
2008-03-20 04:45:49 +00:00
mlcreech 2379706c79 Make out-of-tree builds work as expected when using configure script (CVS 4893)
FossilOrigin-Name: e2d05ea3c3e4a11bc1c0cc4c4403a445b9c2b64d
2008-03-20 02:25:35 +00:00
drh caa639f401 Fix the load-extension mechanism so that tests build with or without it.
This check-in also includes prototypes for the new sqlite3_limit()
interface, but no implementation. (CVS 4892)

FossilOrigin-Name: bee38c2dda50592fef5fedab01311d5486240b95
2008-03-20 00:32:20 +00:00
mlcreech 9323f76141 Fix build whether compiling with or without auto-extension enabled (CVS 4891)
FossilOrigin-Name: 7b9682c65f545b09d410173cf282f7c4f4438097
2008-03-19 23:52:34 +00:00
drh fa4a4b9159 Add a new interface, sqlite3_context_db_handle(), that returns the database
connection pointer for an application-defined function. (CVS 4889)

FossilOrigin-Name: 54c55cae556af5a16c0ce8be1a96d2932db80ad8
2008-03-19 21:45:51 +00:00
drh f39d958829 Undefine the "isView" macro when compiling with SQLITE_OMIT_VIEW so that
the macro does not interfer with subsequent modules in the amalgamation. (CVS 4888)

FossilOrigin-Name: a42caa8f83ce19af1e569c4545ea8b2449152430
2008-03-19 20:42:13 +00:00
drh 8257f0c1da Use the xCurrentTime method of the default VFS instead of stdlib time() to
get the current time when compiling with SQLITE_OMIT_DATETIME_FUNCS. (CVS 4887)

FossilOrigin-Name: 73fbac7cf7b61b23831f62b996fbdd358695b473
2008-03-19 20:18:27 +00:00
drh e5dd20a6ac Update the loadable extension module to include recently added interfaces. (CVS 4886)
FossilOrigin-Name: bf1cecede88d2a21eb4891a343f3c19bb5416263
2008-03-19 19:55:55 +00:00
drh 81cc3548c3 Initialize the MD5 SQL functions from test_func.c instead of using
conditional compilation in tclsqlite.c. (CVS 4885)

FossilOrigin-Name: 801a0e3c9972c1fc9f55a9c55cd0ff19fd79fa37
2008-03-19 19:01:21 +00:00
drh da84ca8de9 Create the test_destructor16() test SQL function to enhance test coverage.
Prior to check-in (4883), the test_destructor() function was sufficient,
but we now need separate functions since the implementation is restricted
to using the published API. (CVS 4884)

FossilOrigin-Name: bb7218657f3b06d810ad710fe64e5c9984aa518c
2008-03-19 16:35:24 +00:00
drh 984bfaa4c7 Move SQL functions used for testing only out of func.c and into a new
test file named test_func.c.  Use sqlite3_auto_extension() to make sure
the test functions appear in every database connection. (CVS 4883)

FossilOrigin-Name: e90c4cc8a89838161f218739bc821126e247498c
2008-03-19 16:08:53 +00:00
drh 2fa1868fb6 Add a new api sqlite3_randomness() for providing access to SQLite's
internal PRNG.  Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882)

FossilOrigin-Name: 15110ea02768bfe977a57eccd6b941a36ebd6b32
2008-03-19 14:15:34 +00:00
drh 345331507f When a parse of the sqlite_master table fails, include the name of the
object being parsed as part of the error message. (CVS 4881)

FossilOrigin-Name: 57805b588f6b6d070918102a0ff096ade674279a
2008-03-19 13:03:33 +00:00
drh bb8a279e11 Remove the dependency on the direct btree interface from as many test
scripts as is practical.  Fix a bug in the output limiter of the
integrity_check pragma that came up while making this change. (CVS 4880)

FossilOrigin-Name: 24e769972eb6052b82dc94d20444c186a213e104
2008-03-19 00:21:30 +00:00
drh aa28e1478a Update the documentation to distinguish between protected and unprotected
sqlite3_value objects. (CVS 4879)

FossilOrigin-Name: 074ee55ffd1f0b7bb120a440d8bcf19e249ada96
2008-03-18 13:47:20 +00:00
drh 77db4c05ec Minor test coverage enhancements. (CVS 4877)
FossilOrigin-Name: edd207b9a9df5d73ec34474a4e90fcb592f06cf1
2008-03-18 13:01:38 +00:00
drh 874c5d6a43 Fix a memory leak introduced by the previous bug fix. (CVS 4876)
FossilOrigin-Name: b9c5dce34985f7e6d1b6314ae8674f07d0bf518b
2008-03-18 00:54:22 +00:00
drh 5efaf07099 Add the ability to simulate out-of-memory errors when using the default
memory allocator, mem1.c.  Fix a bug that this enhancement revealed. (CVS 4875)

FossilOrigin-Name: d55a5e1c11ef90534abd2e5f18d06dd4739ade70
2008-03-18 00:07:10 +00:00
drh 6c44ea48b8 Fix an uninitialized variable in the Prev and Next opcodes. (CVS 4873)
FossilOrigin-Name: fcf3d0a3d5d3a71155ab0aa5f533da72063d54f0
2008-03-17 17:18:37 +00:00
drh a53b914086 Abandon the OR optimization following a memory allocation failure,
to avoid referencing uninitialized memory. (CVS 4872)

FossilOrigin-Name: 9d2afbb543e1493e1d9c2eb4329143bcb1ceca19
2008-03-17 17:08:33 +00:00
drh 280396906f Detect the failure to zero-terminate a result string due to a malloc
failure. (CVS 4871)

FossilOrigin-Name: 57db14067ff7d519291bebe695dcf991a9462372
2008-03-17 16:54:01 +00:00
drh 99b90c3fa9 Put the statement journal in the temp-file directory since that
directory is often on optimized storage such as RAM disk and because
unlike the main journal, the statement journal does not need to
be colocated with the database file. (CVS 4868)

FossilOrigin-Name: 72c40726932695a2cf5c593707d098c8fb6e8875
2008-03-17 13:50:58 +00:00
danielk1977 39359dc020 Return an error when an xBestIndex() method indicates that it intends to use the value of an unusable constraint. Related to #2998. (CVS 4867)
FossilOrigin-Name: ffd470279540b1b8e3fdce6eb14001bae489b16d
2008-03-17 09:36:44 +00:00
drh befdf83f58 Reset the busy callback iteration counter at the beginning of each
lock test loop. (CVS 4864)

FossilOrigin-Name: 66777f048195e4242905c40f790ed7360af7028b
2008-03-14 19:33:05 +00:00
drh 3099e1acab Change an instance of intptr_t to sqlite3_intptr_t. (CVS 4863)
FossilOrigin-Name: 6db7186c304ed5e06afb207ce11ebc2a47e491b0
2008-03-14 19:17:54 +00:00
mlcreech dda5b68cb3 Revise Bitvec struct sizing to prevent assertion failure on 64-bit systems (CVS 4862)
FossilOrigin-Name: a3c12dbe95c8fb93f5b9006bf5d2c5b933fc5e87
2008-03-14 13:02:08 +00:00
mlcreech 17d0fa4986 One additional intptr_t conversion (in the same vein as check-in 4824) (CVS 4859)
FossilOrigin-Name: 2777ca788204c37ae5607f7acabe78f414255fa2
2008-03-13 23:34:38 +00:00
danielk1977 b2b95d41a1 Do not segfault after a parse error in a sub-select in a statement of the form "DELETE WHERE ... IN(sub-select)". Ticket #2991. (CVS 4854)
FossilOrigin-Name: 3f9f81e908aad6cdc0a16ec52f4ec46d89fd78bc
2008-03-12 10:39:00 +00:00
drh 747eff8a6f Remove the #includes of stdlib.h and sys/types.h from sqliteInt.h since
they are never used and because they broke the build. (CVS 4851)

FossilOrigin-Name: 2668000fc8e23a98fb3e104474032d6c70eeee38
2008-03-10 16:17:59 +00:00
drh c81945e41f Add explicit !=0 tests in order to suppress warning messages in
Borland-C.  Ticket #2985 (CVS 4850)

FossilOrigin-Name: d4ab14b974f2249d9d9e5a78ae47f3764a88b657
2008-03-10 14:12:53 +00:00
mlcreech fb80d20a9f Change <sqlite3.h> to "sqlite3.h" in #includes (CVS 4847)
FossilOrigin-Name: 98e55fa4d32c4579d54b3a8cc26abdb3c8148e13
2008-03-09 02:00:19 +00:00
mlcreech 5b0a9ebe4c Use autoconf to detect presence of gmtime_r() and localtime_r() (CVS 4846)
FossilOrigin-Name: 9894d2ce418180b874406a7407e019dc872f289a
2008-03-09 01:38:09 +00:00
drh 1c3cfc605b Clarify the language in the sqlite3_create_function() documentation.
Ticket #2980. (CVS 4844)

FossilOrigin-Name: 2db43738bfcd2db29167ff02f4291e74324225d7
2008-03-08 12:37:30 +00:00
drh 58edb657da Fix asserts in prepare.c to handle the misuse case of ppStmt==0. (CVS 4843)
FossilOrigin-Name: 788b2c6b537809a496bf30550a12e743c1697eb7
2008-03-08 12:23:30 +00:00
danielk1977 cac336ad95 Move a comment within the Parse structure to make it more accurate. No actual code changes. (CVS 4842)
FossilOrigin-Name: 0ca14399b19ee22870394065c5c6a136ea41418d
2008-03-08 06:16:29 +00:00
drh 3cb3edc19a Make sure all necessary mutexes are held prior to initializing the
schema in sqlite3_table_column_metadata(). (CVS 4841)

FossilOrigin-Name: 4996ff93573c69b51eb7b1348058f85e6cb2728a
2008-03-07 21:37:19 +00:00
drh 5ce88abaa3 Fix an alignment problem in test_async.c. (CVS 4840)
FossilOrigin-Name: 752d8e21bb250d7df58a3abc945fcd7a3b38ad15
2008-03-07 21:04:02 +00:00
drh 308aa32ffc Another fix to the OsUnlock I/O error logic. (CVS 4839)
FossilOrigin-Name: 22bd537ee2af6779ecb38502513ae533f85f7c2e
2008-03-07 20:14:38 +00:00
drh 1aa5af1151 Correctly handle I/O errors that occur during OsUnlock(). Before this
fix, an I/O error during OsUnlock() could lead to database corruption.
That is not a serious problem, though, since errors during OsUnlock()
are not possible on most systems. (CVS 4838)

FossilOrigin-Name: b4c1258edb4a40501d13c9da674d0366d5a8c694
2008-03-07 19:51:14 +00:00