Commit Graph

10453 Commits

Author SHA1 Message Date
dan
80bb6f8217 Add SQLITE_FCNTL_BUSYHANDLER. Invoked to provide access to the busy-handler callback to custom VFS implementations.
FossilOrigin-Name: 1262d2f471214a3417dd02159a7aa2355b18f789
2012-10-01 18:44:33 +00:00
drh
04b85bc609 Minor changes to the query planner for improved test coverage.
FossilOrigin-Name: c12044df322283c9deb0d7dacd8a699ac53f27b6
2012-10-01 17:44:05 +00:00
drh
a1f3853793 Omit the sqlite3GetReservedNoMutex() routine in build configurations where
it is not used.

FossilOrigin-Name: f193dbb6b96b2f49dd0d6345802c9c006cd99e3c
2012-10-01 12:44:26 +00:00
drh
c1fd2cfed2 Make sure the size parameter to read and write VFS methods in the unix VFS
do not become too big or go negative.  This was not actually possible in the
current code.  The checks are added to make sure some future bug does not
make it possible.

FossilOrigin-Name: daebe3bd2d9bd7b6f876a8110cf5045eb3fee078
2012-10-01 12:16:26 +00:00
dan
c9a5326974 Ensure that the value returned by xSectorSize() is reasonable (currently defined as between 2^5 and 2^16 bytes) before using it to calculate the amount of padding to add to a wal file.
FossilOrigin-Name: 6b4ff83bff07d427af585c9fd03be90abf2fc82f
2012-10-01 06:50:55 +00:00
drh
60441af4f2 Improved ORDER BY optimization when outer loops of a join return a single row.
FossilOrigin-Name: 62225b4a4c4bfe1820ef54cb202edf2cd866429f
2012-09-29 19:10:29 +00:00
drh
befda46598 Disable the bigfile tests on Macs.
FossilOrigin-Name: d869eddaf208c4bf03f6bd1848f510392f9dba49
2012-09-29 15:45:12 +00:00
drh
b3f787f4c7 Fix compiler warnings found on Lion.
FossilOrigin-Name: fd74d3d91721ca404537f195fed04c9edef20bf2
2012-09-29 14:45:54 +00:00
dan
0094f37e1f Avoid calling sqlite3BtreeEnter() in a corner case where the corresponding database handle mutex (sqlite3.mutex) may not be held. This prevents a potential deadlock or crash that can occur if the backup API, shared-cache mode and SQLITE_HAVE_CODEC are all in use.
FossilOrigin-Name: 89b8c377a6f03d9fa885f3f94c1f0b1eec263dea
2012-09-28 20:23:42 +00:00
mistachkin
70a1b71fb6 Modify the clearCell function to use SQLITE_CORRUPT_BKPT in the one place it was not.
FossilOrigin-Name: 472beb306a4fa7103837d4417aef7d66eef49993
2012-09-28 18:13:35 +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
40eaa08620 Update the sessionfault-9.1 and -9.2 tests to account for the change in
version 3.7.11 in which a pending statement no longer blocks ROLLBACK but
instead causes the next call on that statement to return SQLITE_ABORT.

FossilOrigin-Name: fae9eb197fcef726fd2c7c701afe6805fc008cf9
2012-09-28 12:55:56 +00:00
drh
f784c1ede9 Query planner enhancements to be more agressive about optimizing out ORDER BY
clauses - in particular the query planner now has the ability to omit ORDER BY
clauses that span multiple tables in a join.

FossilOrigin-Name: 1e874629d7cf568368b912b295bd3001147d0b52
2012-09-28 00:44:28 +00:00
drh
a9e3fc05f5 Fix some corner case behavior in the new ORDER BY optimization logic.
Remove the SQLITE_OrderByIdx bit from the 
SQLITE_TESTCTRL_OPTIMIZATIONS mask, since enabling it caused many
TH3 tests to fail when the NO_OPT configuration parameter was engaged,
and since there really isn't any need to turn that optimization off.
The SQLITE_OrderByIdxJoin bit remains.

FossilOrigin-Name: 98b633717a1c9a08f6a1d00bc6bc891564ae7e9b
2012-09-27 23:27:23 +00:00
mistachkin
8ccc6d4076 Modify generation of resource header file for MSVC so that it can work from outside the working directory.
FossilOrigin-Name: 20caf80cb3b65e69a99dbc142db8ee435fb2dbdc
2012-09-27 21:03:53 +00:00
drh
5343b2d4a8 More test cases an bug fixes for the ORDER BY optimization of joins. All
veryquick tests now pass.

FossilOrigin-Name: 0d573320057b0903a5589cabfb1b1ece1c57958e
2012-09-27 19:53:38 +00:00
drh
6b10a6a7ed Test cases and bug fixes applied to the ORDER BY optimization for joins.
Some test cases fail, but except for the new orderby1.test failures, all
failures appear to be issues with the tests, not with the core code.

FossilOrigin-Name: 75cda864ededb6dc0f84bd52ed3311753a58e351
2012-09-27 17:31:32 +00:00
drh
7e5418e4a4 Add more bits to the bit vector that is used to disable optimizations for
built-in test.  Add specific bit patterns to disable ORDER BY using an
index in general and for joins.  Use macros to test for bits in the 
disabled-optimization bit vector, in order to make the code clearer.

FossilOrigin-Name: d2fcba1e143beca8c45724d2108870657c269e17
2012-09-27 15:05:54 +00:00
drh
32634d270c Enable ORDER BY clauses that span joins to be optimized out.
FossilOrigin-Name: c29538f9b1ee4d4869999570604c9618ca0d08ac
2012-09-27 14:11:36 +00:00
drh
cec320fb0e Merge the "PRAGMA busy_timeout" change into trunk.
FossilOrigin-Name: 1a679a1ef3b4f2d898c8cd83432d2b4c12bd93fa
2012-09-27 12:11:25 +00:00
drh
ff2d52117b Further tweaks to the query planner logic in preparation for adding
ORDER BY opt-out for joins.

FossilOrigin-Name: 53efc10af990d3f293551f3cd8ef2f8be2d9d716
2012-09-27 12:05:09 +00:00
drh
46c35f9b20 Further refactoring of the ORDER BY related query-planning logic in order
to make it easier to extend to support optimizing out ORDER BY on joins.
No actual behavior changes, yet.

FossilOrigin-Name: 96496ddae12a239b30a1fc997fbea43e3a75bfe7
2012-09-26 23:17:01 +00:00
drh
9cd1c99fe1 Augment the WhereBestIdx structure to pass down into the query planner
information that might be used to better detect ORDER BY and DISTINCT
optimizations spanning multiple tables of a join.

FossilOrigin-Name: 4226e51ff837f0ffe16355491a655d919d13488e
2012-09-25 20:43:35 +00:00
drh
56f1b99d4d Pass information around between the major routines of the query planner
using a single pointer to a structure rather than a long list of parameters.

FossilOrigin-Name: 1104d42e104d561ce60d05d158acfe499ee9fd50
2012-09-25 14:29:39 +00:00
drh
4d85fa760f Remove an unused subfunction parameter and an obsolete comment from the
query planner logic in where.c.

FossilOrigin-Name: 349a55cd8ba9ce65ebfd987ecfebd1204f7d0a85
2012-09-24 19:50:00 +00:00
drh
46ec5b63e2 Change the internal sqlite3WhereBegin() to report that the ORDER BY clause
is satisfied by indices using the WhereInfo.nOBSat field of the returned
structure.

FossilOrigin-Name: 22989f3588531efd555cc29d6c576e7a34b7edc4
2012-09-24 15:30:54 +00:00
drh
86ae51c991 Update documentation to describe the threadsafety of
sqlite3_enable_shared_cache().

FossilOrigin-Name: e081890cd77ad8de4bf55a8f8cf9d63bfaaf8218
2012-09-24 11:43:43 +00:00
drh
cef4fc89c4 Enable query planner tracing using the new (and undocumented) ".wheretrace 1"
command in the command-line shell if both the shell and the core are
compiled with SQLITE_DEBUG and SQLITE_ENABLE_WHERETRACE.  This is not a 
supported API. Use for testing and debugging only.

FossilOrigin-Name: 1be4b16b9e900181ae6848f2920ea646f407c9dc
2012-09-21 22:50:45 +00:00
drh
078b1fda34 Command-line shell enhancements: Added the ".print" command. Enhanced
the ".width" command so that negative widths will right-justify.

FossilOrigin-Name: a1d8269da3868e41a6603c1a683e324fe21fb317
2012-09-21 13:40:02 +00:00
drh
e8e4af7697 Consolidate more of the DISTINCT processing logic into a single spot in the
code.  Reduce the number of OP_Column operations needed to perform a
WHERE_DISTINCT_ORDERED.

FossilOrigin-Name: 79e922f7ae29bbe06d639d648fbd72523cf9a28e
2012-09-21 00:04:28 +00:00
drh
634d81dee0 Continuing incremental enhancements of SELECT code generation:
Remove the Select.affinity field.  Use SelectDest.affSdst instead.

FossilOrigin-Name: cf40b7b5ebdacc3215d769aadacce8c9e7e9dfbb
2012-09-20 15:41:31 +00:00
drh
2c79733f3c Refactoring of DISTINCT code. Change the name of the local variable
"distinct" to "distinctTab".  Generate cleaner code w/o unnecessary P4
and P5 values on the OP_Null for WHERE_DISTINCT_ORDERED.

FossilOrigin-Name: 0cda241a2bcb3c6f2ae6c48f522780bc4eddfc02
2012-09-20 14:26:22 +00:00
drh
053a128f55 Tighter VDBE code for the WHERE_DISTINCT_ORDERED case of DISTINCT keyword
handling.

FossilOrigin-Name: 94b48064db3cbb43e911fdf7183218b08146ec10
2012-09-19 21:15:46 +00:00
drh
ae651d614e Add comments to the WHERE_DISTINCT_* macros. No changes to code.
FossilOrigin-Name: 82320501904f65030622a67836ba30f412169056
2012-09-19 17:31:15 +00:00
drh
c35dfbb677 Merge the covering-index-scan optimization into trunk.
FossilOrigin-Name: ddd5d789e7ae4a66cd7b7fa79e48d2777f95350b
2012-09-19 00:35:31 +00:00
mistachkin
ba2bba3c32 Silence harmless compiler warning seen with SQLITE_OMIT_DEPRECATED.
FossilOrigin-Name: c5cee969322d14114e4136510c3891a2e743520d
2012-09-18 23:21:32 +00:00
drh
dbaee5e342 Enhance IN processing to allow efficient use of indices with numeric affinities.
Add test cases for IN processing that would have spotted the error in the
[2be661a48023f4] check-in.

FossilOrigin-Name: 5ded9b68388f4024425c11f09b03529ac89454ce
2012-09-18 19:29:06 +00:00
drh
d4305ca61c Enhancements to the comments on sqlite3FindInIndex(). No code changes.
FossilOrigin-Name: b1a4c394995eb90b3fb43ab204704bda03799303
2012-09-18 17:08:33 +00:00
drh
c65714ddf0 Add the stack_usage.tcl script for analyzing the output of objdump on the
amalgamation and estimating the sizes of stack frames on each function.

FossilOrigin-Name: 030013ff0c7af5f146a64f9ede31297ff003e0c4
2012-09-18 14:00:54 +00:00
drh
3a94987819 Update the vdbe-compress.tcl script so that it accepts variable declarations
inside of #ifdef...#endif.
This enhancement is needed due to the change of check-in [39866c0ede5d6ef4].

FossilOrigin-Name: e7db056a0d76b2411cadbae077890df189e49414
2012-09-18 13:20:13 +00:00
drh
d2e2bf9ff7 Make sure the WHERE_IDX_ONLY flag is not set on query plans that will not
be using an index.

FossilOrigin-Name: 698b2a28004a9a2f0eabaadf36d833da4400b2bf
2012-09-17 21:24:01 +00:00
drh
de9a7b8a94 Add the ability to disable the covering-index-scan optimization at compile-time,
start-time, or at run-time.  Add test cases to check this configurability.

FossilOrigin-Name: ccb8ecc30c8e6c7760131250297c2e452bbac43b
2012-09-17 20:44:46 +00:00
drh
ee4b21e9f3 Merge recent trunk changes into the fullscan-covering-index branch.
FossilOrigin-Name: 1c0bf0305ce9528a0d07c86a390c5872e16bdb57
2012-09-17 19:26:02 +00:00
drh
f4af1089ab Remove obsolete bits from the bitvector that defines disabled optimizations
in the SQLITE_TESTCTRL_OPTIMIZATIONS verb of sqlite3_test_control().

FossilOrigin-Name: 4c21ee2d26466f83dec525153e2b1506bd956701
2012-09-17 19:12:39 +00:00
drh
4261096124 Remove an unnecessary parameter from sqlite3Utf8Read() resulting in a slight
performance increase.

FossilOrigin-Name: 8b962c94a2f829f71efdd0ca770469b02feea3e1
2012-09-17 18:56:32 +00:00
drh
e1a022e48b Make sure the KeyInfo.aSortOrder array is always allocated so that we never
have to test for KeyInfo.aSortOrder==0 in performance-critical loops.

FossilOrigin-Name: 45793f0b844fee7445bc9269b403f89a58f77150
2012-09-17 17:16:53 +00:00
drh
56690b3d49 Performance enhancement in the sqlite3VdbeSerialType() routine.
FossilOrigin-Name: ad298f52efd0ff123a1a4d6a0fa16fbd4c6b6dad
2012-09-17 15:36:31 +00:00
drh
3f4d1d1b02 Attempt to use a covering index even on a full table scan, under the theory
that the index will be smaller and require less disk I/O and thus be faster.

FossilOrigin-Name: cfaa7bc12847a7006ccc93815f2395ad5259744a
2012-09-15 18:45:54 +00:00
drh
55b4c226d1 Make sure the name of rollback journal files are double-zero terminated
when they are passed into the VFS.

FossilOrigin-Name: 8711a8447d28275602287faf533de3d6e50d535d
2012-09-15 13:39:24 +00:00
drh
5f08526937 Factor out the code that generates a co-routine for evaluating the SELECT
on the RHS of an INSERT statement so that the same code can potentially
be reused in other places.

FossilOrigin-Name: a93ee09cdc15987848bf9023e69892ce9a5f989e
2012-09-15 13:29:23 +00:00
drh
6ec6549158 Improved alignment of fields in the Expr object gives an 8-byte size
reduction on 64-bit machines.

FossilOrigin-Name: 6b252a0d1a78db7bf2d650bafc214ea4064eef9e
2012-09-13 19:59:09 +00:00
mistachkin
66498ae871 Fix WAL capability checking in one of the test files.
FossilOrigin-Name: 0ebe7cc57408d6d85910cc976fb8af4436d6e594
2012-09-13 16:12:20 +00:00
mistachkin
59ee77c7d1 Fix an unused variable warning with SQLITE_OMIT_WAL.
FossilOrigin-Name: 39866c0ede5d6ef4dd4fd57c797f0e86a2d0dc5d
2012-09-13 15:26:44 +00:00
mistachkin
7ea11af2d6 Improved reporting of filename translation errors in the Windows VFS.
FossilOrigin-Name: eb0f1c292e6fb00c4d9dbb2317fdc4717c5be96b
2012-09-13 15:24:29 +00:00
drh
d815f17dab Reduce the size of the Table object by 16 bytes on 64-bit machines, mostly
by avoiding intermixing pointer fields with integer fields.

FossilOrigin-Name: 1cb9aedfcf81f0086fa741cb29a062ee87724a5e
2012-09-13 14:42:43 +00:00
drh
a371ace426 Change boolean fields in the Column object from unsigned characters into
bits in a single bit mask variable.

FossilOrigin-Name: 4163f5f194741bc2bdf141973912661c6aac70f1
2012-09-13 14:22:47 +00:00
drh
df32414d99 Add the RTREE_INT_ONLY configuration parameter to the compile-time options
logic.

FossilOrigin-Name: 98b971fb24e0ee5f881b13401c7af51fc6effd0e
2012-09-13 12:10:55 +00:00
mistachkin
c60941f814 Allow SQLite to work on Win32 with SQLITE_OS_WINNT=0 as long as WAL is disabled.
FossilOrigin-Name: c1a8557008e56aa9bcb4565e4178fc57295c563d
2012-09-13 01:51:02 +00:00
drh
8cca95d7aa Update version number to 3.7.15. Delete some obsolete build scripts.
FossilOrigin-Name: 9402f81fade5fcae0a3a6efdc7a5cdf71fc2e79f
2012-09-12 00:11:20 +00:00
mistachkin
5dac843233 Added sqlite3_errstr API to translate a result code to the corresponding error message.
FossilOrigin-Name: bf8a9ca5b58404112a8af666f5840b462b7bbfe1
2012-09-11 02:00:25 +00:00
mistachkin
1c9ee26837 Correct two duplicated test names.
FossilOrigin-Name: ced49974a969f11e5ebe2280bd7eec20b059e501
2012-09-10 23:44:12 +00:00
drh
0fdbdbea03 Remove the stale implementation of the ifnull and coalesce functions - code
that has been commented out for ages.  No functional changes.

FossilOrigin-Name: c2ad691174b8af2e8b158d8840cfc93f75d7db71
2012-09-10 15:02:32 +00:00
mistachkin
9dc2a73662 Avoid using the sqlite3ErrStr function in the Tcl package if USE_SYSTEM_SQLITE is defined.
FossilOrigin-Name: a716b9a3091072774d067c0a1258b0f4c39a4180
2012-09-10 09:33:09 +00:00
mistachkin
8765b4660e Make header comments for some Tcl test commands more consistent. No changes to code.
FossilOrigin-Name: af870ca9827d2079a35dbb545660f670c7ca9512
2012-09-10 08:48:05 +00:00
mistachkin
540ebf8271 Refine error messages in the sqlite3 Tcl command when a NULL database connection is returned from sqlite3_open_v2.
FossilOrigin-Name: f260d7d567a1239c483c437d0b18a95bd0c96724
2012-09-10 07:29:29 +00:00
mistachkin
60a7523bd3 Fix typo in documentation for sqlite3_open_v2. No changes to code.
FossilOrigin-Name: b532120a4a567a3fa54b87dd8ab94cc2c0347c7c
2012-09-10 06:02:57 +00:00
mistachkin
50610df8ae Correct two test names to make them unique.
FossilOrigin-Name: 43e474d3e9364e6ed417db06e98faa3e5bc2eb26
2012-09-07 20:10:30 +00:00
drh
c0c7b5ee74 Have PRAGMA busy_timeout return 0 if the busy handler has been changed
or cancelled.

FossilOrigin-Name: 7be5bc36798d30f50658b70fc0bd31af897f3a87
2012-09-07 18:49:57 +00:00
drh
f360396c47 Add an experimental busy_timeout pragma to facilitate access to the
sqlite3_busy_timeout() interfaces for programmers that are working from
behind a language wrapper that does not expose that interface.

FossilOrigin-Name: 22ebc668516bc3dd5782d6d3d42dc7fd2eed7d79
2012-09-07 16:46:59 +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
8a7c142887 Version 3.7.14
FossilOrigin-Name: c0d89d4a9752922f9e367362366efde4f1b06f2a
2012-09-03 15:42:36 +00:00
drh
9265d0bdc2 Fix compiler warnings in test_spellfix1.c
FossilOrigin-Name: ebb08d0b4d1ed674e4a23c3754206ca2df9063ff
2012-09-03 12:40:32 +00:00
drh
2a78169563 Add resources describing the version number and other information to EXEs
and DLLs generated using MSVC.

FossilOrigin-Name: a15a70840e1af55ffe4035f53e894a2d582d8f74
2012-09-03 11:39:59 +00:00
mistachkin
597a8c5f32 Insert additional tab character.
FossilOrigin-Name: 3af7c1a6afacea7b5e47bebce2541aa340c6e946
2012-09-03 11:14:53 +00:00
mistachkin
0f104d5700 Linking and cleaning fixes for the tclsqlite3.exe target in the MSVC makefile.
FossilOrigin-Name: 96d43c7a35684cd8ca6ac0d8325193e69f102fb8
2012-09-03 11:01:21 +00:00
mistachkin
4d9d1f4722 Add Win32 version resources to the applicable binaries built by the MSVC makefile.
FossilOrigin-Name: e2f27d28b590164bc6b0d856e79c9345e2188d03
2012-09-03 10:32:32 +00:00
drh
e0d058c6d8 In the spellfix phonehash() function, add letter W into the same character
class as V.

FossilOrigin-Name: 7536101317c00fbb5bf555120feb55b9bc40e8ba
2012-08-31 14:55:05 +00:00
dan
7417cefec6 Update with latest trunk changes.
FossilOrigin-Name: 87995dc9409482f0a7a367bfc51d78ac0f63b8c3
2012-08-31 14:23:16 +00:00
drh
19038f1b79 Changes for ERROR_PATH_NOT_FOUND in addition to ERROR_FILE_NOT_FOUND in
winAccess().

FossilOrigin-Name: 527340abff18aedbcb0f82ac1296a9f548e24ac4
2012-08-31 12:31:18 +00:00
drh
373cfbc760 Exclude the atof1.test test script from the valgrind permutations test since
valgrind sets up the floating point hardware in an unusual way that makes
atof1 fail.

FossilOrigin-Name: d3cf6832a59fe4c5723761abb4c89614406b03db
2012-08-30 20:24:39 +00:00
dan
9454876ddc Fix an out-of-bounds read in the demonstration code in test_spellfix.c.
FossilOrigin-Name: 59194311543b95c2aeebe2aba83da3c29b7c6460
2012-08-30 11:22:16 +00:00
drh
b5b407e5ab Fix a typo in a comment in vdbe.c. No changes to code.
FossilOrigin-Name: 9fbe858b625a346690d5cefca3a6fa2a557bea11
2012-08-29 10:28:43 +00:00
dan
67c70142d9 Fix a case where SQLite was failing to detect a syntax error in queries like "SELECT ... FROM (<select-1> UNION ALL <select-2>)" when <select-1> and <select-2> return different numbers of result columns.
FossilOrigin-Name: 200a81358c3117401d2258dd06bb8d2ea4f0ef51
2012-08-28 14:45:50 +00:00
mistachkin
af52973724 Issue a log message if the temporary directory has not been set when running on WinRT.
FossilOrigin-Name: 9ee39102942d4a4830417f61f0969f29ac0282a1
2012-08-28 04:20:56 +00:00
mistachkin
52fd8e1d0d Enable the use of a simpler command line when cross-compiling in the MSVC build environment.
FossilOrigin-Name: 8ade136a038ee71d741af4a9f9e692fdff4e7911
2012-08-28 01:44:13 +00:00
drh
7a5d80e929 Formatting changes to the C code example in the documentation for
sqlite3_temp_directory().  No changes to code.

FossilOrigin-Name: 5b4b39788ed9ac5962a17315d5549fc5e3f38c5e
2012-08-28 00:17:56 +00:00
mistachkin
40e6319b61 Update API docs to include notes about the WinRT temporary directory. No changes to code.
FossilOrigin-Name: eaeeb0699297dde824788e2907a0cfd2acd8f642
2012-08-28 00:09:58 +00:00
drh
67ceaa6b9b Add to #undef statements to the command-line shell, go make sure that the
macros definitions that follow do not collide with system definitions.

FossilOrigin-Name: 24420d6d2077d745cc26dd269e76b48c8a3eeb3c
2012-08-27 21:19:03 +00:00
drh
04f2e3403f Fix an incorrect assert in the virtual table logic - it could fire following
an I/O error after sqlite3_close_v2() was added.

FossilOrigin-Name: 4ccc18e999c51f7f6637ee48ccca35c7706bfe6d
2012-08-27 14:39:47 +00:00
mistachkin
d5578433ff Fix all known instances of 'repeated the' style typos in comments. No changes to code.
FossilOrigin-Name: 9b19b847533f944f289d93dcdba29c0d67bf251c
2012-08-25 10:01:29 +00:00
drh
b0367fb8b0 Fix a harmless compiler warning.
FossilOrigin-Name: 929b51840b83ee1ca5add8fe430913e7c4e2a3d6
2012-08-25 02:11:13 +00:00
drh
310874ca00 Merge the latest trunk changes into the sessions branch.
FossilOrigin-Name: aa62d6881b5aae64e15dbae70ce8e77bcc2a9f0b
2012-08-25 01:21:36 +00:00
drh
f0b9729242 When the same index is used for all OR-terms in a WHERE clause, then try to
use that index as a covering index.

FossilOrigin-Name: 62678be3df35cdcb09172ba8c860f7b73517f1ea
2012-08-24 23:56:19 +00:00
drh
d40e208726 Move field WhereLevel.pCovidx inside the union to WhereLevel.u.pCovidx.
FossilOrigin-Name: b722143d075979ba3d92b7b29e576ce2307187d1
2012-08-24 23:24:15 +00:00
drh
7b36ba3da3 Remove a NEVER() that is in fact reachable on an OOM. This probably
has nothing to do with the multi-or-covering-index change but just happened
to be found while testing that change.

FossilOrigin-Name: 5499af53ebcdc21ae288aa2347aa21f6891d79ef
2012-08-24 21:54:11 +00:00
dan
606bb3a54e Another test for whereD.test.
FossilOrigin-Name: 29d586178dcfdb99eaf7ce768668ab0aa9898c83
2012-08-24 19:58:18 +00:00
dan
899339154e Add extra tests to whereD.test.
FossilOrigin-Name: 7e961eef6b7260dd8deb8b3812218a874c382885
2012-08-24 19:52:25 +00:00
dan
0efb72c969 Fix a problem to do with multi-or queries and automatic indexes.
FossilOrigin-Name: a3e26038a1d9f3331239f777c67d1920d904aab0
2012-08-24 18:44:56 +00:00
drh
8fea5f3b97 More test cases for OR-optimization covering indices.
FossilOrigin-Name: e5c3190c27b69dc50f348c849a81b79031b2fb67
2012-08-24 17:52:54 +00:00
drh
2797c21639 Additional test cases for OR-optimization with covering indices, including
one test case that currently fails.

FossilOrigin-Name: d8b7ab37120ac20e60b6a600cd0e5b34a09cf97a
2012-08-24 15:29:03 +00:00