Commit Graph

10049 Commits

Author SHA1 Message Date
drh 7ca0954c2c The assert() changes removed in the previous check-in are needed after all.
FossilOrigin-Name: 336fccc84cd7b770c9c3720efc9976269096232e
2015-05-24 21:46:03 +00:00
drh 0b538f2a81 Better detection of corruption in allocateSpace() in btree.c.
FossilOrigin-Name: bf7bb53ee2485a5342916d514d6c7291eb84c5f1
2015-05-24 21:09:52 +00:00
drh a1f75d96fd Detect database corruption in the modifyPagePointer() routine and abort.
FossilOrigin-Name: 4f0bba42f904e505900be67b00179ebb1f24ed03
2015-05-24 10:18:12 +00:00
drh 82110da971 Instead of early detection of corruption in balance_nonroot, simply ignore
the error, as it is harmless and exceedingly uncommon.

FossilOrigin-Name: 7bbf9b3cd6ebf103ebd8347579aef721d0dcd2dc
2015-05-23 19:53:48 +00:00
drh 3183ac590d Earlier detection of a specific kind of corruption in the balance_nonroot()
routine.

FossilOrigin-Name: ee6dc9913a8733891576e6e298241f7440209c5e
2015-05-23 19:29:08 +00:00
drh 3c46b7f7fd Minor documentation improvements. No changes to code.
FossilOrigin-Name: e446d9ce0049b8ce0fd4f03205a0c32776fc76cd
2015-05-23 02:44:00 +00:00
drh cea1dc2798 Fix another bad assert() in btree - one that can be false on a corrupt database
file.

FossilOrigin-Name: 89f0bbfde4d86a7b15e93aab9c487b4355c6fb2d
2015-05-22 23:39:29 +00:00
drh 10ca5b4809 Make sure sqlite3_value_dup() works correctly even for sqlite3_value
objects that are marked SQLITE_STATIC.

FossilOrigin-Name: f332ffc39b7a17fd6254d8dc699293a57a508ba0
2015-05-22 21:04:54 +00:00
drh 9dfedc8246 Fix minor issues with the sqlite3_value_dup() interface.
FossilOrigin-Name: 95edcf5010ecb8edd8eb74279c4766f9b655d4a2
2015-05-22 19:55:10 +00:00
drh fd29973f11 Update with fixes and enhancements from trunk.
FossilOrigin-Name: 9605d008f5c763137e9734d033fe4510ca316858
2015-05-22 18:40:48 +00:00
drh e2248cfd2d The SRT_Table type for the SelectDest object is now just an SRT_EphemTab for
which the ephemeral table has already been allocated.

FossilOrigin-Name: b9727e6bbfc3c62c601227e86e62f2f39792fd1d
2015-05-22 17:29:27 +00:00
drh afe028a815 Fix two faulty assert statements discovered by fuzzing.
FossilOrigin-Name: 799817bfb2bc95963c0e0d70063c4cb15c94ef74
2015-05-22 13:09:50 +00:00
drh 499e15bee1 Fix an assert in btree.c that can be false when using a corrupted database
file.

FossilOrigin-Name: a6eb2a39357c35dc13d549ef86c785ff5c69938a
2015-05-22 12:37:37 +00:00
drh 4f03f413bc Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use
these interfaces to enhance R-Tree to add the
sqlite3_rtree_query_info.apSqlParam field.

FossilOrigin-Name: a7ee40c4fc62843ac5b96ba47ca14a66e8cd6961
2015-05-20 21:28:32 +00:00
drh 9263220487 Simplification of the initialization code for CREATE TABLE AS.
FossilOrigin-Name: 937f659e8933011c44e822328a97cb5f0607c04d
2015-05-20 17:18:29 +00:00
drh 9df25c4736 A proposed fix for the problem of CREATE TABLE AS generating a table that
has INTEGER values in a TEXT column.  Ticket [f2ad7de056ab1dc92].

FossilOrigin-Name: d5e2c1fc7625130a3cbacc95c28bb553a0119cb8
2015-05-20 15:51:09 +00:00
drh 00d5ab7405 Fix handling of queries with VALUES on the left and UNION ALL SELECT on the
right and a LIMIT clause.

FossilOrigin-Name: c403502cdce8b82e570e6fc49ab7f5144800c189
2015-05-20 00:15:27 +00:00
drh 7f0cd09cdd Enhance the selecttrace display by showing Select.selFlags.
FossilOrigin-Name: 45d3893c6142ee1dfed48e26a13cf547da12468a
2015-05-19 23:56:07 +00:00
dan dde548cb16 Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value.
FossilOrigin-Name: f5d0ce80792d58ef424300f973f8876d835ed4ad
2015-05-19 19:44:25 +00:00
dan 504ab3b6e5 Add a comment for SQLITE_FCNTL_OTA to sqlite.h.in.
FossilOrigin-Name: efa20f8e41e9370f419f055efa941a8521c68c86
2015-05-19 16:26:51 +00:00
dan b387e63707 Merge latest trunk changes with this branch.
FossilOrigin-Name: 6055a6725cb24469c10de9a04f3614dcc79193c6
2015-05-19 14:14:57 +00:00
drh a48bae8819 Transitive constraints should only work if operands have compatible
affinities and collating sequences.

FossilOrigin-Name: 5df4056448fee1c766f8f79c735ed12abdce5101
2015-05-18 12:28:09 +00:00
drh c4d56dd74b Use an ALWAY() on conditionals in the transitive constraint logic that are
always true as far as we know.

FossilOrigin-Name: 204e567f68e4b3e069f04ca0643c6e5db781d39f
2015-05-18 12:18:37 +00:00
drh 69c15fee98 Refinements to the determination of when an A==B term is an equivalence.
Add test cases.

FossilOrigin-Name: 6bfaf525cac2e0c0a4a3bd3a1fc7bf5bd3234303
2015-05-18 11:34:52 +00:00
drh df553659ad Make a hard copy of the results of a subquery lest the result of the
subquery be referenced after a change to the table that generated the subquery
result.

FossilOrigin-Name: 9c0d80907b4dee8ee8f205c2ebdb759f5ba1d771
2015-05-18 04:24:27 +00:00
drh 5820118da5 Further restrictions on the use of the transitive property in WHERE clauses.
FossilOrigin-Name: 8c886c43ff0bd5953d289534791d2c6b9dc25445
2015-05-16 20:51:25 +00:00
drh ea19cc10f5 Fix the transitive constraint processing to only allow transitivity if the
operands of the == or IS operator have compatible affinities.

FossilOrigin-Name: a46a247fbcfe6e63b12cef31353835295a650c9b
2015-05-16 19:17:17 +00:00
drh e655a0e34e Fix a typo in a comment. No changes to code.
FossilOrigin-Name: ee4b74250ad7a4061421d44b490cb79f649b3720
2015-05-16 18:31:44 +00:00
mistachkin 4e5bef8c00 Minor coding style change, adjust new local variable casing for consistency.
FossilOrigin-Name: 1a4628c66c632d2aff02bf134ddf7adceb04fb84
2015-05-15 20:14:00 +00:00
dan 3072b537f5 Do not assume that "col IS ?" matches at most a single row of a UNIQUE column unless the column is also NOT NULL.
FossilOrigin-Name: e038ce8955e785afcc07bb22499955bbd22a7af4
2015-05-15 19:59:23 +00:00
drh 22c17b8bf5 Simplifications to error message processing. Fix a possible problem in error
message formatting when vacuuming a database with a corrupt schema.

FossilOrigin-Name: 56ef98a04765c34c1c2f3ed7a6f03a732f3b886e
2015-05-15 04:13:15 +00:00
drh 4a00b33c02 More test cases. Remove some invalid testcase() macros. Rearrange some code
for improved testability.

FossilOrigin-Name: b3676377b257bd8bb7fefe9c365d76cdc9e44856
2015-05-14 13:41:22 +00:00
drh ee14587c39 Add testcase() macros. Get transitive WHERE clause constraints on IS operators
working again.

FossilOrigin-Name: d195d4a65d7184e34a2a08c3ac3db7f6c8c1c21c
2015-05-14 13:18:47 +00:00
dan 2bbb62ce0b Merge changes from the index-is-operator branch into this one. Drop the partial support added for IS on this branch by [52e73eec].
FossilOrigin-Name: 16ab9cafd00ea5df7e6f75d6a6740237828b888d
2015-05-14 09:53:17 +00:00
dan 8255079611 Merge latest trunk changes with this branch.
FossilOrigin-Name: 299ed55c909d327826ef47e204ef1e9afd54852b
2015-05-14 08:58:52 +00:00
drh e8d0c61f0a A new implementation of indexing with the IS operator that works correctly
when the IS operator is in the WHERE clause and the operands are from 
opposite sides of a LEFT JOIN.

FossilOrigin-Name: 4541688b3f56f5cd3d5b299594b58c577ad633bb
2015-05-14 01:05:25 +00:00
drh 9be1870994 Simplified implementation of indexing with the IS operator.
FossilOrigin-Name: 95b1f9bf14e490c6c6bba9ea78aeab712a44aab5
2015-05-13 19:33:41 +00:00
drh e0cc3c296c Add testcase() macros and comments and a few test-cases.
FossilOrigin-Name: 24263d08b11c88416d270013bdaf5ff45125cb4d
2015-05-13 17:54:08 +00:00
drh fcd49531c9 An early attempt to get indexes to work with the IS operator. This code
passes tests, but much more testing is needed to verify that it works on
all corner cases.

FossilOrigin-Name: 6f7f1673d00d216a5aa456acb44793a14f3b3d91
2015-05-13 15:24:07 +00:00
mistachkin ba02a63a4a Fix typo in Win32 VFS code enabled when the SQLITE_WIN32_USE_UUID compile-time option is used.
FossilOrigin-Name: b33f1bacfdb34fe66b7b073e68bfac38498d6e88
2015-05-12 19:53:15 +00:00
drh 8755a5f50c Attempt to get DBSTAT to compile without warnings across all build
configurations.

FossilOrigin-Name: c3cbe3b06eb37b9949c5fcb0e257a845953de7a7
2015-05-12 19:10:18 +00:00
drh 10819251b7 Fix a compiler warning when building with tclsqlite3.c and without
SQLITE_ENABLE_DBSTAT_VTAB.

FossilOrigin-Name: aad3ff257a156b572334b64aa57643ff3ea231a4
2015-05-12 14:22:05 +00:00
drh 3d213d31e5 Improvements to documentation of the sqlite3_column_xxxxx() interfaces.
No code changes.

FossilOrigin-Name: f1aa951a337037c18ee14e114e36314835e05926
2015-05-12 13:32:55 +00:00
drh 6582ae520f Try to get recent sqlite3_analyzer and sqldiff tests working for all
tested combinations of compile-time options, especially
SQLITE_OMIT_VIRTUALTABLE and SQLITE_OMIT_LOAD_EXTENSION.

FossilOrigin-Name: 07c7d3925cbcf44c2f606c7f016ec56304e0ca24
2015-05-12 12:24:50 +00:00
drh 3e0327d5de Revamp the way the DBSTAT virtual table is registered.
FossilOrigin-Name: 4e6520159e729b6ea96ccdb14f0ecb00a0ff7cbd
2015-05-11 11:59:15 +00:00
drh df5e1a00de Fix the sqlite3_memory_used() and sqlite3_memory_highwater() interfaces so
that they really do provide a 64-bit answer.

FossilOrigin-Name: 8a0d5d5e9a4515603c47e9354af47550155a6f2d
2015-05-10 02:01:08 +00:00
mistachkin 2c1820c824 Fix harmless compiler warning with MSVC.
FossilOrigin-Name: 902d0cb8e31cf816ab054caccff24172a041160d
2015-05-08 01:04:39 +00:00
drh cda9a933bd Add an entry to sqlite3_compileoption_used() for
SQLITE_ENABLE_DBSTAT_VTAB.

FossilOrigin-Name: 480b4cb04212277ea07e230b6c13cb81a7b769b5
2015-05-07 20:26:20 +00:00
drh 5f36a83329 Testing improvements and corner-case bug fixes for the dbstat virtual table.
FossilOrigin-Name: d51ce539327b4807150b030a10bb105fa34cbc24
2015-05-07 18:29:04 +00:00
drh 857df26b85 Enhance the dbstat virtual table with the ability to analyze ATTACHed
databases.

FossilOrigin-Name: 25ec09400b753fcb10a2aae57eb43dbf0548b7ca
2015-05-07 14:41:56 +00:00