Commit Graph

210 Commits

Author SHA1 Message Date
dan 08f5f4c57d Remove an unnecessary assignment from vdbeapi.c.
FossilOrigin-Name: 6c871ac1fa3c79baa0053dc49ab106cb3db4cfa0
2011-06-27 19:37:23 +00:00
drh 24e713d9b3 Provide the SQLITE_MAX_SCHEMA_RETRY compile-time parameter for adjusting the
number of reparse attempts after a schema change.

FossilOrigin-Name: 8dca748b23fa6f9abf47a186dcd1766f4dcf3ab7
2011-06-23 01:42:53 +00:00
drh 124c0b49a1 Refactor the SQL parameter processing so that parameter names for values
that are optimized out of the prepare statement are not forgotten.

FossilOrigin-Name: b3aaf715b60b8a338cc6c92dad1ead4a3f7146a3
2011-06-01 18:15:55 +00:00
drh fcd71b6010 Suppress many harmless compiler warnings, mostly signed/unsigned comparisons
within asserts or unused parameters in extensions.

FossilOrigin-Name: 3eeb0ff78d04891b5fd1a3d99a9fb8cfbed77a81
2011-04-05 22:08:24 +00:00
drh c126e63e4f Remove dead code identified by the clang static analyzer.
FossilOrigin-Name: 01a79d5a7af48fb7e50291c0c7c6283d3fb359d0
2011-03-06 21:28:32 +00:00
dan 27381bd519 Modify the trace callback mechanism so that SQL commands executed from within virtual table or user function callbacks are passed to the trace callback without parameter expansion and enclosed in SQL comments.
FossilOrigin-Name: a764915b87564fa91ee68e9b1f41394ce0f1fc7e
2011-01-22 13:32:29 +00:00
drh 602acb4871 Add the SQLITE_OMIT_AUTORESET compile-time option which if enabled causes
the sqlite3_step() routine to return SQLITE_MISUSE if it is called after
it has previously returned anything other than SQLITE_ROW, SQLITE_BUSY, or
SQLITE_LOCKED.

FossilOrigin-Name: 053ce76deb356d31358454507ba94947142e20ca
2011-01-17 17:42:37 +00:00
drh 2e5de2f2b3 Reorder the fields in private structures in an effort to reduce alignment
gaps and thus make the structures smaller, and to put frequently accessed
fields first.  Also update some obsolete comments.  Valgrind shows a very
slight performance improvement.

FossilOrigin-Name: 378a1d13af4a6f4cb2bfa65944b3b0d444b9f21c
2011-01-07 02:50:40 +00:00
drh f03d9ccc45 Adding the sqlite3_stmt_readonly() interface.
FossilOrigin-Name: fd5b2f23dd5111d2f0934dd828bae36b755024c1
2010-11-16 23:10:25 +00:00
drh 94bb2ba619 Check-in [d3c95e3a4e08d0] was incorrect. This is the correct fix for
sqlit3_bind_blob().  Ticket [860399cc408f2dd5f4]

FossilOrigin-Name: ea8c2f5f8a890dcb422e9e46298ae6ca378c74b7
2010-10-14 01:16:32 +00:00
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