Commit Graph

27 Commits

Author SHA1 Message Date
drh
8210233c7b Revise tests cases to align with the new EXPLAIN QUERY PLAN output.
FossilOrigin-Name: 50fbd532602d2c316813046ed6be8be2991c281eb5f295c4c28520a0de73862c
2021-03-20 15:11:29 +00:00
drh
bd462bcc10 Improvements to EXPLAIN QUERY PLAN formatting. The MULTI-INDEX OR now shows
a separate "INDEX" subtree for each index.  SCALAR SUBQUERY entries provide
a subquery number that is related back to the .selecttrace output.

FossilOrigin-Name: 7153552bac51295c56a1c42ca79d57195851e232509f9e9610375692f48c7e86
2018-12-24 20:21:06 +00:00
drh
5198ff5767 Do not generate subroutines for non-static SELECT and EXISTS expressions.
Fix up some test cases to account for the minor changes in EXPLAIN QUERY PLAN
output.

FossilOrigin-Name: 06de44ec9e173992ca9afb89dd2b4e40d2a7e35512c7959603cdceb606f5dfbd
2018-12-24 12:09:47 +00:00
drh
cdf88760da More test case updates. Tests are all running now.
FossilOrigin-Name: dab5e5294813891469660cceb211ac1a1e526715bb57dcdbb1ab90321e6a4dad
2018-05-02 19:42:33 +00:00
dan
bbccd52143 Avoid creating an automatic index on the RHS of a LEFT JOIN to optimize an IS
term. Fix for [ce68383b].

FossilOrigin-Name: d2f0b2e859a8a413ee4e4bd7040e450ccd604069e4ea8dbc9ff924718c2b14d7
2017-07-18 17:13:41 +00:00
drh
29031837c1 Remove an incorrect ALWAYS() from the automatic index generator.
FossilOrigin-Name: eeb4bd06bf69e411736cc6077d1d64af6bd8fb09
2015-04-15 07:34:25 +00:00
drh
9d356fbe6e New requirements marks and a few new test cases to go with them. No changes
to code.

FossilOrigin-Name: 8c2b29d9acb92d47f4deec21a7c2dca52db63345
2015-02-27 20:28:08 +00:00
drh
7e07433fe7 Tune the query planner to be more aggressive about using automatic indexes
on views and subqueries for which there is not opportunity to declare a
persistent schema index.

FossilOrigin-Name: 41de1643bfc9ae25e20790d707e2789b665baa2b
2014-09-22 14:30:51 +00:00
dan
aa9933c115 Changes to the way the planner calculates the costs of various table and index scans. Some test cases still failing.
FossilOrigin-Name: c5a6ec0a880652dc8f4593d9f7acd58ddc3dc5f3
2014-04-24 20:04:49 +00:00
dan
c1f19f95b8 Fix two test script problems revealed by permutations.test.
FossilOrigin-Name: 60cf7e44871ca8d2136ddad02188f0b9f9c380c1
2013-07-05 19:16:58 +00:00
drh
8d56e2059c Issue the new SQLITE_WARNING_AUTOINDEX warning on the SQLite log whenever
an automatic index is created.

FossilOrigin-Name: 338826ef3f8a209b14f8d42370855cab9ac9ed45
2013-06-28 23:55:45 +00:00
drh
986b38792f Add the SQLITE_DEFAULT_AUTOMATIC_INDEX compile-time option, which if set to
zero turns automatic indices off by default.  Increase the estimated cost
of an automatic index.  Additional minor refactoring of the automatic
index code.

FossilOrigin-Name: 459b3179023c2c45994ea4acbf34ed5f87cf3c18
2013-06-28 21:12:20 +00:00
drh
75bf6b984a Use automatic indices on subqueries of the FROM clause when appropriate.
FossilOrigin-Name: e8f124284ee0d0e373dc4431668630f1e17015c1
2013-06-17 14:18:21 +00:00
drh
e1e2e9acd6 Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING
comments to the NGQP and adjust costs slightly.

FossilOrigin-Name: 3a72af2a95b04b8e195ef17cb3e9d9021a4f0915
2013-06-13 15:16:53 +00:00
drh
4fe425ad79 "make test" now passing.
FossilOrigin-Name: addd7f466d6ff55f82d907286650c26b06e9397b
2013-06-12 17:08:06 +00:00
drh
5822d6feb2 Fix test cases for the new EXPLAIN QUERY PLAN format. Add the
wherecosttest tool.  Other fixes to logarithm cost.

FossilOrigin-Name: aa580e368e3c398b8377b80342dfdd906324c248
2013-06-10 23:30:09 +00:00
drh
738fc79dcf Make more aggressive use of transitivity in optimizing queries. Add a test
case.

FossilOrigin-Name: d96762841a461e192fb2f317d684d000376350dd
2013-01-17 15:05:17 +00:00
dan
969e5595e8 Ensure that automatic indexes are only created in scenarios where they may be used more than once.
FossilOrigin-Name: 27c65d4d9c58bfc4ea8f9337fa15090459fb26c5
2011-07-02 15:32:57 +00:00
drh
95aa47b10a Use the estimated number of rows computed for subqueries in the cost
computations for outer queries.

FossilOrigin-Name: 56bbc539246a6dc9f1ae1edb898db7a4f6f6d322
2010-11-16 02:49:15 +00:00
dan
4bc39fa188 Change the EXPLAIN QUERY PLAN output to use "USING INDEX" instead of "BY INDEX", and to use "SEARCH" instead of "SCAN" for loops that are not full-table scans.
FossilOrigin-Name: 6611b76b0296875fb9903b25dfaa783a9c12eaa1
2010-11-13 16:42:27 +00:00
dan
acf1987d18 Fix a bug in the EXPLAIN QUERY PLAN code.
FossilOrigin-Name: 7ae068952fba4395b4aa437613a5ed2bd9ddf941
2010-11-11 11:43:01 +00:00
dan
47eb16d4ce Modifications to test cases to account for new EXPLAIN QUERY PLAN output.
FossilOrigin-Name: 30904ef8412348464e893e9e1551ef22cad24a3e
2010-11-11 10:36:25 +00:00
drh
1ea870125c Make sure the estimated row count for ephemeral tables is initialized so that
automatic indices can be used on those tables.

FossilOrigin-Name: d30f7b2deffdba373a2e0988f433c631c790a7b5
2010-10-21 22:58:25 +00:00
drh
cf4d38aaf0 Do not allow automatic indices for the RHS of IN expressions which are not
correlated subqueries.  Ticket [8011086c85c6c404014c9]

FossilOrigin-Name: 267492d3a7eff7b7b24ed6bd6d6ff55148fe37f3
2010-07-28 02:53:36 +00:00
drh
c71b5f34c9 Additional automatic index tests.
FossilOrigin-Name: 99d8e325e9eb8905631b06676206e6412f386d08
2010-04-08 16:30:38 +00:00
drh
7caba669a6 New test cases for automatic indices. New testcase() macros associated
with column-used bitmasks.

FossilOrigin-Name: e1aa48ace7e43c3805278120b8228ee597e2cee7
2010-04-08 15:01:44 +00:00
drh
3c379b0101 Add an interface to the SQLITE_STMTSTATUS_AUTOINDEX status information
to the TCL bindings.  Add some simple automatic index test cases.

FossilOrigin-Name: 1f40441204d9a912b1d6b67ff6ff9e17146c7abd
2010-04-07 19:31:59 +00:00