1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

500 Commits

Author SHA1 Message Date
drh
6fec9ee34c Fix the sqlite3_bind_blob() interface (and its kin) so that the destructor
is invoked if the binding fails.  Ticket [860399cc408f2dd5f41aed44b]
Update the documentation to explain which interfaces invoke their
destructors on failure and which do not.

FossilOrigin-Name: d3c95e3a4e08d08028e9bc7f282074e32b9cf950
2010-10-12 02:13:32 +00:00
drh
65bafa6570 Updates to sqlite3_finalize() documentation.
FossilOrigin-Name: 8c5994cf8e5ae0c1cb8f655ac83e52e668e75c86
2010-09-29 01:54:00 +00:00
drh
a704400714 Clarify the documentation to better explain when an automatic re-prepare can
be induced by rebinding parameters.  Add evidence marks to the automatic
re-prepare logic.

FossilOrigin-Name: 3e11f5155c5625ddf4300a9ef7e8bc20a190a752
2010-09-14 18:22:59 +00:00
drh
42262536dd Updates to the documentation of the sqlite3_column_xxxx() family of
interfaces.  Enhance sqlite3_column_blob() so that it always returns
a NULL pointer for a zero-length blob.

FossilOrigin-Name: a932fab299b3c32dea4d08729e9fab3735631e88
2010-09-08 16:30:36 +00:00
drh
9f129f467e Add evidence mark comments to source code. Add additional information to the
documentation of sqlite3_release_memory().  Fix a minor inefficiency in mem1.c
that was discovered while writing requirements tests.

FossilOrigin-Name: 53b0c03fd33d2d8141fd386de5493fec64456042
2010-08-31 15:27:32 +00:00
drh
df0db0feb5 Change the profile timer units back to nanoseconds and update the
sqlite3_profile() documentation.
Ticket [c43940c49b74c70a69]

FossilOrigin-Name: 7783b98a938b77d6b8e4e85b32b05452c47fbe4b
2010-07-29 10:07:21 +00:00
drh
5def0843f1 Change the behavior of the sqlite3_wal_hook() callback. It should now return
SQLITE_OK or an error code and the error code is propagated back up the 
stack.  If a checkpoint is desired, the callback should invoke
sqlite3_wal_callback() itself.

FossilOrigin-Name: 1b14195e05fe5551992a39246ec3bcf6a33bbfac
2010-05-05 20:00:25 +00:00
drh
b7e8ea2015 Use VFS method xCurrentTimeInt64 instead of xCurrentTime when it is available.
Provide an implementation of xCurrentTimeInt64 for os_unix.c.

FossilOrigin-Name: ab77b3ae6da3370d8bc3b2c9c0edc723b69f5a95
2010-05-03 14:32:30 +00:00
dan
5a299f9134 Add the "PRAGMA wal_autocheckpoint" command. Rename "PRAGMA checkpoint" to "PRAGMA wal_checkpoint".
FossilOrigin-Name: 714e5947264571386f966aa8fcdd5607b5832238
2010-05-03 11:05:08 +00:00
dan
5cf53537a8 Support compile-time option SQLITE_OMIT_WAL, for building without WAL support.
FossilOrigin-Name: 9b230c43dfa112e3e1589f9775926807bd36b36e
2010-05-01 16:40:20 +00:00
drh
7ed91f2344 Refactor wal.c to use the VFS. This check-in compiles and links and works
ok as long as you leave WAL turned off, but WAL does not work.

FossilOrigin-Name: 62db5fa3b61be885b2d94e9b9ce3877b2c588350
2010-04-29 22:34:07 +00:00
dan
8d22a17411 Add the sqlite3_log_hook() interface for scheduling checkpoints.
FossilOrigin-Name: 9bda601455705475075e33bfa85687bce34b15ff
2010-04-19 18:03:51 +00:00
drh
3674bfd1b6 Change sqlite3_step() so that it automatically calls sqlite3_reset() instead
of returning SQLITE_MISUSE when invoked on a prepared statement that
previously returned any value other than SQLITE_ROW.

FossilOrigin-Name: 3e646e3f4cd0ca288e444561e951cecfdaee2ab5
2010-04-17 12:53:19 +00:00
drh
bee8065e37 Test coverage enhancements. Additional documentation detail on the new
sqlite3_log() interface.

FossilOrigin-Name: d986e9289388fd72257b26cb2f9c972177255cd4
2010-02-25 21:27:58 +00:00
drh
7823006011 Fix an incorrect ALWAYS() macro in vdbeapi.c. Fix the output of a few
test cases that changed due to better error propagation out of reprepare.

FossilOrigin-Name: a8c984c1d6cb6e2fc95a07eb32befeea122e8ed3
2010-02-24 18:40:39 +00:00
drh
a6129fa79a Enhancements to the way errors are reported up when an automatic
statement reprepare fails.

FossilOrigin-Name: 1a6d4bb130382564093b6370818ae4a7633f4074
2010-02-24 17:15:19 +00:00
drh
413c3d36a2 Continuing improvements to error reporting and the sqlite3_log() routine.
FossilOrigin-Name: edea3bb740ddd096a46e00678b59d465bb1e2903
2010-02-23 20:11:56 +00:00
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