1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00
Commit Graph

433 Commits

Author SHA1 Message Date
drh
9978c97ec5 Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging
output for CORRUPT, and CANTOPEN errors.

FossilOrigin-Name: 7c4cca6d1a23a6d1591b62f58c3716a944969947
2010-02-23 17:36:32 +00:00
drh
0ae0bfd486 Fix a C++-ism that snuck into sqlite3_finalize().
FossilOrigin-Name: fb96f2a2c63a061a90733448c4af14384893d409
2010-01-31 15:14:37 +00:00
dan
14d4cc4356 Fix a problem with handling OOM errors in fts3.
FossilOrigin-Name: f9c54e95ecf1c36c4750bb151e91d81c1d1bd596
2010-01-20 14:25:37 +00:00
drh
87f5c5f16e Manually copy over the rebustness fixes from the apple-osx branch.
FossilOrigin-Name: 095c74ea6260096f6a600fdc0edccf7ea24aace4
2010-01-20 01:20:56 +00:00
drh
d68eee04b4 Extensive edits to the comments in the sqlite.h.in source file to identify
testable statements of truth about the C-language interface.

FossilOrigin-Name: ea884e1ed8dba1aa0f3cf68fc71923954983f6c6
2009-12-11 03:44:18 +00:00
drh
5f18a221a1 Simplifications to the sqlite3_trace() bound parameter substitution logic.
FossilOrigin-Name: cb4b928648504ce29d751834e9ee3b5278dfca65
2009-11-26 14:01:53 +00:00
drh
c81c11f62c Remove the obsolete "$Id:$" RCS identifier strings from the source code.
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
dan
c94b859560 Fix cases where modifying bound variables using the clear_bindings() or transfer_bindings() APIs can invalidate a query plan.
FossilOrigin-Name: e6808c988c9cd7b2db23f18b5fe2177151b6f586
2009-10-20 07:01:24 +00:00
drh
823e09abd6 Fix an incorrect assert() in vdbeUnbind().
FossilOrigin-Name: 651c1efb998b34f218694c45865fbe20b837a2ac
2009-10-19 20:15:38 +00:00
dan
ef516228db Fix an assert() that may fail if sqlite3_step() is called on a statement after a previous call has already returned SQLITE_SCHEMA.
FossilOrigin-Name: 63bf73452de5a9d03e625e1888444a5355063b74
2009-10-19 18:30:34 +00:00
dan
1d2ce4f804 Remove the sqlite3_reoptimize() API. The same functionality is now provided automatically to queries prepared using prepare_v2().
FossilOrigin-Name: 2c50b3d5aab7cd8cc841d61f8c3b2b34d2f0b54b
2009-10-19 18:11:09 +00:00
dan
85a48dfd71 Remove a mutex reference leak from sqlite3_reoptimize().
FossilOrigin-Name: 9f0937066184421f23453ceb451fd726c75cb593
2009-10-16 15:19:08 +00:00
dan
937d0dea4f Add the experimental sqlite3_reoptimize() API.
FossilOrigin-Name: 9bd6f3d8864d422fe42074688b191915b27ad8ea
2009-10-15 18:35:38 +00:00
dan
1da40a381f Check in implementation of foreign key constraints.
FossilOrigin-Name: d5d399811876391642937edeb9e8434dd9e356f5
2009-09-19 17:00:31 +00:00
dan
e0af83aca6 Combine the OP_Statement and OP_Transaction opcodes.
FossilOrigin-Name: aec9dbd8d21c55c3945287a3dfa55d3ed168f977
2009-09-08 19:15:01 +00:00
dan
165921a742 Changes to support recursive triggers.
FossilOrigin-Name: 9b9c19211593d5ff7b39254a29c284560a8bcedb
2009-08-28 18:53:45 +00:00
drh
4c8555fd47 Improved handling of oversize string and blob errors. Other simplifications
in support of full coverage testing. (CVS 6813)

FossilOrigin-Name: 8b34076668f0f712de0fbbe9bc2e68d42797e1b2
2009-06-25 01:47:11 +00:00
drh
8bfdf72136 Reorganize and cleanup the prepared statement object. Remove code that has
been commented out for ages and is no longer relevant to anything. (CVS 6786)

FossilOrigin-Name: 37ae5f5e8feb34a8e6e8b34aa18df1e9a1ce55cb
2009-06-19 14:06:03 +00:00
danielk1977
41f5b04ceb When building in debug mode with gcc, force the nullMem variable in function columnMem() to be aligned to an 8-byte boundary. Otherwise an assert() statement may fail. (CVS 6723)
FossilOrigin-Name: 3fd6c72da599347af70897b30b86a4ba641d4cd9
2009-06-06 14:13:26 +00:00
drh
51c7d86476 Bring the documenation and implementation of sqlite3_collation_needed() into
agreement.  Use a more efficient implementation of sqlite3ErrStr().
sqlite3_result_error_code() now calls sqlite3ErrStr() if no prior
error string was set. (CVS 6550)

FossilOrigin-Name: cb9af8293624da35c32077d0f46d5b0cf826dcf5
2009-04-27 18:46:06 +00:00
drh
ac80db7845 Change the sqlite3_bind_value() implementation to use a default branch on
the type switch so that there are no untested jumps in the switch. (CVS 6505)

FossilOrigin-Name: d0a8bd6a53c5da0ac6b88818f82c7f7d330b527a
2009-04-14 12:58:20 +00:00
drh
29def56019 Reimplement the sqlite3_bind_value() interface so that it works when the
value being bound comes from a different database connection. (CVS 6504)

FossilOrigin-Name: 3db0c7980668cf38165add13f833863cd00a0cfe
2009-04-14 12:43:33 +00:00
drh
7950acd424 Remove more unused branches from vdbeapi.c. (CVS 6491)
FossilOrigin-Name: 447e959594970a225a9b189e7e420ba9c3eedbdb
2009-04-10 23:11:31 +00:00
drh
9b4ea4a53e Remove unused branches from the vdbeapi.c module. (CVS 6489)
FossilOrigin-Name: 7ae0fc7ea55dc5b5fbeef20f476a00f619bd3c5c
2009-04-10 20:32:00 +00:00
drh
0f5ea0b34c Remove misuse detection from the deprecated sqlite3_transfer_bindings()
interface.  The code was hard to test and was simply taking up space. (CVS 6476)

FossilOrigin-Name: 4cd829107cc9e94b092490aa821574492292b425
2009-04-09 14:02:44 +00:00
drh
c6c7fd51c5 Simplify the implementation of the columnName() function in vdbeapi.c.
This is a code cleanup only - no behavior changes. (CVS 6474)

FossilOrigin-Name: 0628f5864f8cc035b41bbe644bd8ec8fb43c70ce
2009-04-08 23:05:28 +00:00
drh
bc6160b0d6 Remove a pair unnecessary conditions from printf.c. The "db" parameter is
now required for sqlite3MPrintf(). (CVS 6471)

FossilOrigin-Name: 6fe8b5d70247d9c6b70dd482db3990986be97e69
2009-04-08 15:45:31 +00:00
danielk1977
357864ecb6 Fix a problem preventing sqlite3_extended_errcode() from working correctly. (CVS 6385)
FossilOrigin-Name: de469c46f55bf772ab8a49a185dc1b87360a937f
2009-03-25 15:43:08 +00:00
danielk1977
238746a650 Fix a couple of fairly obscure cases where an assert() could fail following a malloc failure. (CVS 6360)
FossilOrigin-Name: cc0d925669ddeb55048e88aa5b4f658be60b0962
2009-03-19 18:51:06 +00:00
danielk1977
65a2ea1155 Change sqlite3_step() to return SQLITE_LOCKED if a statement cannot be re-compiled due to locks on the shared-cache schema. Also add a blocking wrapper of sqlite3_prepare_v2() to the test code. (CVS 6359)
FossilOrigin-Name: e8be1af922098e298902820730f8b28603bd6fae
2009-03-19 07:58:31 +00:00
shane
e34c647ed0 Added some asserts and a check for a null pointer dereference. (CVS 6337)
FossilOrigin-Name: 6b0cabd017ed25530b2d918d2c069fcbdd60a3f6
2009-03-05 04:23:47 +00:00
danielk1977
6ab3a2ec8a Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305)
FossilOrigin-Name: d9f6ffbc5ea090ba0daac571fc9a6c68b9c864e4
2009-02-19 14:39:25 +00:00
shane
fbd60f826d Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250)
FossilOrigin-Name: 5cef400023205b55152b91441acc78f9cd8d58a9
2009-02-04 03:59:25 +00:00
drh
b27b7f5d3b More explicit type casting to silence VC++. (CVS 6006)
FossilOrigin-Name: 14e6d19c3157ccdce170e769d678c7f472dd3db2
2008-12-10 18:03:45 +00:00
danielk1977
62c14b3487 Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +00:00
drh
ad4a4b8047 The COMMIT command now works even if there are pending queries, as long
as the pending queries are reading and not writing the database. (CVS 5864)

FossilOrigin-Name: 51f04aaff2803487933b9dfcf39f27a249f18a98
2008-11-05 16:37:34 +00:00
danielk1977
d0ffa1e815 If sqlite3_column_value() is called to obtain a value with the MEM_Static flag set, clear it and set the MEM_Ephem flag before returning. Otherwise, if the value is passed to sqlite3_bind_value() or sqlite3_result_value(), sqlite may attempt to use the buffer after the statement has been finalized. This is not always valid, as MEM_Static only guarantees that a MEM.z buffer will be valid for the lifetime of the owner statement, not that it is actually a static buffer. (CVS 5812)
FossilOrigin-Name: b055bfc4e5268d8a66d6a4f5e8aec1285fe4b8e7
2008-10-13 10:37:49 +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
d1d384888b Add the experimental sqlite3_stmt_status() interface. (CVS 5781)
FossilOrigin-Name: de473efb35ffdf9a8222a70a84dfd7d3198c87c1
2008-10-07 23:46:38 +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
0bfbaa8aa5 Have sqlite3_bind_value() call sqlite3ApiExit() before returning. Otherwise the db->mallocFailed flag may not be cleared. (CVS 5777)
FossilOrigin-Name: 6b7c8d56403f6b9b88b8494c86f3d62e487cb2ac
2008-10-07 14:06:11 +00:00
drh
488e7b6323 In sqlite3_bind() interfaces, avoid acquiring the mutex until after the
statement handle has been validated.  Ticket #3418. (CVS 5768)

FossilOrigin-Name: 693503e241001271512f4ce3e8cc932ba6a3106c
2008-10-06 12:46:43 +00:00
shane
145834a44f Missing implementation for sqlite3TransferBindings(). (CVS 5675)
FossilOrigin-Name: 56d618957571f65e88375aad34a6e7dcf22508e1
2008-09-04 12:03:42 +00:00
danielk1977
67e3da7ad4 Fix the functionality associated with sqlite3_release_memory() and sqlite3_soft_heap_limit(). It is automatically disabled if the SQLITE_CONFIG_PAGECACHE option is used. (CVS 5576)
FossilOrigin-Name: d025866b09352b32a6d35b97144eaad2fafb7165
2008-08-21 12:19:44 +00:00
drh
c456e57af7 Do not allow indexing of any table whose name begins with "sqlite_".
Ticket #3284.  Improve handling of databases with malformed schemas -
just in case somebody has actually indexed a system table. (CVS 5553)

FossilOrigin-Name: 0e1d8d14a153483e65bd0246d23db2b823a122d1
2008-08-11 18:44:58 +00:00
drh
701bb3b4f0 Additional coverage testing. Fix a segfault following OOM in
sqltie3_load_extension(). (CVS 5523)

FossilOrigin-Name: f1e44eb323f05495cbae25113aebcc50d16b40df
2008-08-02 03:50:39 +00:00
drh
c890fec362 Bring test coverage up to 99%. (CVS 5522)
FossilOrigin-Name: 2cd6bae80984126023bcf479e5f3db5eaa5c4134
2008-08-01 20:10:08 +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
drh
80cc85b3c2 Error messages from virtual tables store on the sqlite3_vtab->zErrMsg field
are reported back up to the application interface and memory is reclaimed. (CVS 5466)

FossilOrigin-Name: 4a9dd5e782a363e93d4705fa3671bc6cf0bb5a33
2008-07-23 21:07:25 +00:00
drh
bb5a9c3eea Add the sqlite3_next_stmt() interface, including test cases. (CVS 5243)
FossilOrigin-Name: 565a530896b40790287eeaad709edd51980fbddf
2008-06-19 02:52:25 +00:00