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
888e16e7c5 Pull in all the latest changes from trunk.
FossilOrigin-Name: af3ca4c6e557e6bc92584586b5a97d9be41b0b82
2013-07-09 13:05:49 +00:00
dan
cb3e4b797e Experimental change to the handling of foreign key constraint violations when applying a changeset: all foreign keys, immediate and deferred, are deferred until the end of the transaction (or sub-transaction) opened by the sqlite3changeset_apply(). A single call to the conflict-handler (if any) is made if any FK constraint violations are still present in the database at this point. The conflict-handler may choose to rollback the changeset, or to apply it, constraint violations and all.
FossilOrigin-Name: 1d44e5d3c2b1dc958442f9114a960b256e002ed3
2013-07-03 19:53:05 +00:00
drh
1713afb025 Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted.
FossilOrigin-Name: 59f98c5c241e5a61cd5b6d0e69b55a6b44c5cafc
2013-06-28 01:24:57 +00:00
drh
4f7d3a5f06 Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes
"nVdbeActive".  Related fields becomes "nVdbeRead", "nVdbeWrite", and
"nVdbeExec".

FossilOrigin-Name: 14f796963474350e7aee8d3757acd3315fe78e4f
2013-06-27 23:54:02 +00:00
drh
9e92a47bdf Make sure that sqlite3_stmt_readonly reports false for
PRAGMA journal_mode and PRAGMA wal_checkpoint.  Ticket [a589ec069e3].
Also keep track of whether a prepared statement does no reading or
writing.

FossilOrigin-Name: 1937fd8eec2c1da95a782d9dc63926d846b06bdc
2013-06-27 17:40:30 +00:00
drh
fd64cedc4b Bring the sessions branch up-to-date with all the latest trunk changes.
FossilOrigin-Name: 086a127236ee99d67513490fb7b5549e8b752c44
2013-06-26 13:31:50 +00:00
drh
f7b5496e8e Many small harmless comment changes. Removal of obsolete comments and
fixing misspelled words.  No changes to code.

FossilOrigin-Name: a0d5cc9315dc6e9ef7dee4c3dfabf4e562d64376
2013-05-28 12:11:54 +00:00
drh
16fb176814 Merge the latest trunk changes into the sessions branch.
FossilOrigin-Name: 6994826c0784280f2e9728dfa4185848846d03df
2013-04-22 23:59:06 +00:00
drh
60625313b0 Increase the default SQLITE_MAX_SCHEMA_RETRY to 50. Make sure that macro
covers every case where a prepared statement might need to be reprepared due
to a schema change.  The sqlite3_exec() interface now uses 
sqlite3_prepare_v2().

FossilOrigin-Name: c1d7304c80c4a6244c8a9f6fad1eebd0f339c724
2013-04-06 18:06:51 +00:00
drh
8dd661aad1 Merge the changes for the 3.7.16.1 release candidate into the sessions branch.
FossilOrigin-Name: ee35a89712b8ea9f4e70d61a29150348896b519f
2013-03-28 01:19:26 +00:00
mistachkin
48864df97d Many spelling fixes in comments. No changes to code.
FossilOrigin-Name: 6f6e2d50941e444ebc83604daddcc034137a05b7
2013-03-21 21:20:32 +00:00
drh
b05567ed4b Merge all the latest trunk changes into the sessions branch.
FossilOrigin-Name: d69d21903b883067c66dbcdefe6b369a6fe328b0
2013-03-06 02:12:18 +00:00
drh
503a686e09 Always use strncmp() rather than memcmp() when comparing strings where one
or other string might be less than the length parameter, since optimized
versions of memcmp() might read past the first difference and in so doing
generate an access violation.

FossilOrigin-Name: d73435587ba7459e2e2c32980d0e17abdeceb4bc
2013-03-01 01:07:17 +00:00
drh
c4645dacfb Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the
ORDER BY query planner optimizations) into the sessions branch.

FossilOrigin-Name: 6ca8eae1f89d19ee23cbc3a869d85b57d29b4a7d
2012-09-28 13:05:48 +00:00
drh
37f58e9902 Avoid repeating calls to the sqlite3_trace() callback when the same statement
is evaluted multiple times by sqlite3_step() due to an SQLITE_SCHEMA
reprepare.

FossilOrigin-Name: 39f763bfc04174ee0fe2cdf6a92b7c12f726bd1b
2012-09-04 21:34:26 +00:00
drh
16de7f4d32 Merge all the latest trunk changes into the sessions branch.
FossilOrigin-Name: fc07a4795e027108674d1d41eb4350df629ddc8b
2012-08-15 16:21:55 +00:00
drh
5afbd60a1d Remove code that was incorrectly changing SQLITE_MISUSE errors into SQLITE_OK
in sqlite3_finalize().

FossilOrigin-Name: d5e6880279210ca63e2d5e7f6d009f30566f1242
2012-06-21 17:21:52 +00:00
drh
4245c405ea The sqlite3_close() interface returns SQLITE_OK even if there are outstanding
sqlite3_stmt and sqlite3_backup objects.  The connection becomes a zombie.
Resource deallocation is deferred until the last sqlite3_stmt or 
sqlite3_backup object closes.  This is intended to help SQLite play nicer
with garbage collectors.

FossilOrigin-Name: e276a02b7f54e804caa553dca99023416a415e1c
2012-06-02 14:32:21 +00:00
drh
54cced185c Merge all of the latest trunk changes into the sessions branch.
FossilOrigin-Name: a9bcb432f58b96f079a73c456efd4851c582221e
2012-01-05 13:02:36 +00:00
drh
b8a45bbdb8 Fix typos in comments. No changes to code.
FossilOrigin-Name: 6827338ecbe43e28da88d919851ebffde9f6d398
2011-12-31 21:51:55 +00:00
drh
2fb6693e02 Add the sqlite3_stmt_busy() interface.
FossilOrigin-Name: 95cc4af686dc9bf85cb7224aecde27c9ca14ad5c
2011-11-25 17:21:47 +00:00
drh
f004e1d69e Merge in all changes found in the version 3.7.9 release candidate.
FossilOrigin-Name: 23580718e1c15ddb89682d0e7566da4d7276bfe9
2011-10-31 14:34:31 +00:00
dan
029ead645d If an error occurs within sqlite3_step() on a statement prepared using sqlite3_prepare_v2(), transfer both the error code and error message to the database handle before sqlite3_step() returns (so that they are available via sqlite3_errcode() and sqlite3_errmsg(). Prior to this commit, only the error code was transfered. The error message was not available until after either sqlite3_reset() or sqlite3_finalize() had been called on the statement handle.
FossilOrigin-Name: 8f88cc4e616b4b30ed349f89e148f782da5cb6c4
2011-10-27 15:19:58 +00:00
dan
93bca69578 Merge latest changes from the trunk into the sessions branch.
FossilOrigin-Name: c00e45ede7cbf71a3a6d1ccad0b9275010ca8493
2011-09-14 19:41:44 +00:00
drh
8a3bb3fddd Merge the latest trunk changes into the sessions branch.
FossilOrigin-Name: 110cfd6920cf3011aeaf7e586f8db867bfc69fbb
2011-07-22 12:49:27 +00:00
dan
e437ca5ec0 Modifications so that the sessions extension works with blob handles.
FossilOrigin-Name: 82ac16c4f873d3bd7c22f36ba7b974b4903a2d50
2011-07-11 19:45:38 +00:00
dan
08f5f4c57d Remove an unnecessary assignment from vdbeapi.c.
FossilOrigin-Name: 6c871ac1fa3c79baa0053dc49ab106cb3db4cfa0
2011-06-27 19:37:23 +00:00
drh
893ab7ccba Pull the latest trunk changes into the sessions branch.
FossilOrigin-Name: 5d95b42946b5cf0346164aebe0a8c4f37527bc31
2011-06-23 02:11:11 +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
8863f35f5c Merge the latest trunk changes into the sessions branch.
FossilOrigin-Name: 4c5e276c902e0b93cfc05bf2e1db966ecdac0ed0
2011-06-20 10:44:10 +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
d7162fa64e Merge the latest trunk changes into the sessions branch.
FossilOrigin-Name: 45f20261720dcd73eb887f7e3df100723000418b
2011-04-05 22:13:49 +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
9b1c62d416 Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option.
FossilOrigin-Name: 6634521461e6acff7cc778590e62d57831f9230d
2011-03-30 21:04:43 +00:00
dan
1e7a2d4315 Add API function sqlite3_preupdate_depth(), for determining the depth of the trigger stack from within a pre-update callback.
FossilOrigin-Name: bdea70895c2c686a4dd3f4bf0a475fd1501d9551
2011-03-22 18:45:29 +00:00
dan
12ca0b5695 Add start of fault-injection tests for session module. Fix some bugs related to the same.
FossilOrigin-Name: 32e95164d1192b87b1ab019549fd2394642cd3fe
2011-03-21 16:17:42 +00:00
dan
319eeb7b33 Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook.
FossilOrigin-Name: 24d4d5dd007197a141555bcca6f2ac9ab47cde80
2011-03-19 08:38:50 +00:00
drh
304637c026 Fixes for compiler warnings. Minor code cleanup.
FossilOrigin-Name: 9604d13001e0a195718c7f03fc0e73e352226caa
2011-03-18 16:47:27 +00:00
drh
0639c34ecd Merge all the latest trunk enhancements into the sessions branch.
FossilOrigin-Name: 94fd5bb6da5ef4d850c2ed4ad38afabc5569dae6
2011-03-18 12:35:36 +00:00
dan
37db03bf73 Add the sqlite3_preupdate_new() API, for retrieving the new.* values from within a pre-update callback.
FossilOrigin-Name: 526545c49f64d9063d1b888cfc14ece62fa3c13c
2011-03-16 19:59:18 +00:00
dan
6566ebe1b6 Remove the sqlite3_transaction_hook() API.
FossilOrigin-Name: b0015a1cfe63c924ee5f250aa08460522882009b
2011-03-16 09:49:14 +00:00
dan
4fccf43aae Add start of sessions feature.
FossilOrigin-Name: 269a81a37d7dbdcdec3c2322074916af0fbac91c
2011-03-08 19:22:50 +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
21e8d0126d Add the experimental sqlite3_transaction_hook() API.
FossilOrigin-Name: 093d8cd8e2f3a6af5d40cf810e396f4919eb5cef
2011-03-03 20:05:59 +00:00
dan
46c47d4677 Add the experimental sqlite3_preupdate_hook() API.
FossilOrigin-Name: 6145d7b89f83500318713779c60f79a7ab2098ba
2011-03-01 18:42:07 +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