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

477 Commits

Author SHA1 Message Date
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
danielk1977
59f8c08ecc Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234)
FossilOrigin-Name: 5059644c4bc5f6679afd939e0bc26080f42a9918
2008-06-18 17:09:10 +00:00
danielk1977
1e740c6f88 Check that the encoding of values passed to sqlite3_bind_value() matches that of the database. (CVS 5138)
FossilOrigin-Name: e94a2883060b9ef59809ff4de9525d897d95546c
2008-05-16 15:24:58 +00:00
danielk1977
822a51628f Add more version tags to files that lack them. Ticket #3120. (CVS 5137)
FossilOrigin-Name: 81a8c70ed7a86abf286706fdbc251f31c9c53382
2008-05-16 04:51:54 +00:00
drh
7297d1f070 Do not clear the error code or error message in sqlite3_clear_bindings().
Ticket #3063. (CVS 5111)

FossilOrigin-Name: 069f4560107246fdc31e1f15c3ad7d3dae2b9ad8
2008-05-09 14:39:44 +00:00
drh
26e4a8b11d Fix more compiler warnings. (CVS 5074)
FossilOrigin-Name: 59568844e774dbe89fd20bbc8f49a3665cc54717
2008-05-01 17:16:52 +00:00
danielk1977
65710b151f Free Mem.z buffers when a vdbe statement is reset. (CVS 5002)
FossilOrigin-Name: 0bedbe092aa3079dc49157a9bcaa7716b00e0bdb
2008-04-14 15:15:22 +00:00