drh
dd545d3bf2
Make sure the ORDER BY LIMIT optimization is not applied if the inner-most
...
loop can only have a single iteration and is hence not really a loop.
FossilOrigin-Name: 13e3bd3de6b434b6182ef36be108d7ee0be8ca53
2016-08-04 09:09:44 +00:00
mistachkin
19e76b2a7c
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: 390a38a142d36d2c57b3f21aab72edcde450125d
2016-07-30 18:54:54 +00:00
drh
99bbcc8287
Undo some unhelpful changes to skip-scan scoring that were added
...
by the check-in [9e2b2681] that improved scoring of index scan.
FossilOrigin-Name: c7d51934a4f30d096bb79fc509fc9dd0df5d89a4
2016-07-29 01:32:36 +00:00
drh
5f26e00761
Enhance the query planner cost estimation for index scans to take into account
...
WHERE clause terms that can be computed using only the index and that do not
require looking up rows in the original table. This fixes an obscure
performance regression that arose when the ORDER BY LIMIT optimization was
added by check-in [bf46179d44843].
FossilOrigin-Name: 9e2b26811452a5011d0a97a689636fa4409da856
2016-07-27 19:30:53 +00:00
drh
e604ec0be0
Add test cases and fix a comment.
...
FossilOrigin-Name: 50f8ea37fb9647c4a9da2c269a4d6f54b10ce96b
2016-07-27 19:20:58 +00:00
drh
2409f8a112
When estimating the cost of an index scan, factor in the cost savings of
...
being able to use the index to evaluate some WHERE clause terms without
having to do a table lookup.
FossilOrigin-Name: a59b5622f7cc6e502d71aabc12c053582cd03609
2016-07-27 18:27:02 +00:00
dan
d93ba6271b
Initialize a variable in where.c to avoid a valgrind warning.
...
FossilOrigin-Name: 4d59df02d3713b3e3804e1a88e676749b2794286
2016-07-27 16:03:54 +00:00
drh
05d1bad674
Prevent the WhereLoop.rSetup cost estimate from going negative on complex
...
queries.
FossilOrigin-Name: f81050859170c8708a1b296da8dd3ef0dd314a11
2016-06-26 04:06:28 +00:00
drh
ec5935924d
Fix the build for -DSQLITE_OMIT_VIRTUALTABLE
...
FossilOrigin-Name: 911131424857430d46784b167399ecf192584ca2
2016-06-23 12:35:04 +00:00
drh
8dc570b6af
Prefer to use partial indexes for full table scans when that is possible.
...
FossilOrigin-Name: fe1874321ba31cec9ae65387920c33d8d0178ed8
2016-06-08 18:07:21 +00:00
drh
c84a4020ef
Improvements to WHERE-clause debug tracing. Show TK_MATCH expressions and
...
show more details on WhereTerm traces.
FossilOrigin-Name: 71087c12bc75a82f5d1051600a442ef6efc5e899
2016-05-27 12:30:20 +00:00
drh
d711e52229
Appears to work now. Needs test cases, more comments, and code optimization.
...
FossilOrigin-Name: 990fe50c9182f74c9b54a12602c4c30d891273e6
2016-05-19 22:40:04 +00:00
drh
a536df4e7f
In a query with both ORDER BY and LIMIT, if the inner loop satisfies the
...
ORDER BY then try to cut short each invocation of the inner loop once the
LIMIT has been satisfied. This check-in is a partial implementation only.
FossilOrigin-Name: 852d1eda6ecca1171f6ed800b06f5b4854672002
2016-05-19 22:13:37 +00:00
drh
ce943bc834
Clean up the WHERE_* macros used for the wctrlFlags parameter on the
...
sqlite3WhereBegin() interface, freeing up some bits to be used for other things.
FossilOrigin-Name: d01305841da94b2d47e32744802f69525bf590df
2016-05-19 18:56:33 +00:00
drh
a72a15e45a
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface.
...
FossilOrigin-Name: da94a6e0ebacad8f235dcd653a25474327f26137
2016-05-09 19:58:56 +00:00
drh
a3fd75d426
Corrections to comments on the whereScanInit() interface.
...
FossilOrigin-Name: ab7ab415d19524f6c3901e474d3a154f55d28530
2016-05-06 18:47:23 +00:00
drh
44aebff246
Improvements to the way the LIKE optimization is implemented, resulting in
...
slightly smaller and faster code that is easier to test.
FossilOrigin-Name: 54c63b329288729031f45b7778752552cd90e226
2016-05-02 10:25:42 +00:00
drh
f1b5ff73cb
Rename WhereInfo.pResultSet to pDistinctSet to more accurately reflect what
...
it represents.
FossilOrigin-Name: 5317961411695e107e8cefdeaba62280429979ca
2016-04-14 13:35:26 +00:00
drh
53801efcdf
Limit the number of digits shown in the "prereq" mask for ".wheretrace"
...
debugging output.
FossilOrigin-Name: 3686ed7413ae6cdbc8020c0023205e0455e87467
2016-04-09 14:36:07 +00:00
drh
5996a77987
Enhance the query planner so that IS and IS NULL operators are able to drive
...
an index on a LEFT OUTER JOIN.
FossilOrigin-Name: c648539b52ca28c0b2cb61208e2c32b1d29626a1
2016-03-31 20:40:28 +00:00
drh
892ffcc7fc
Fix the query planner so that it is able to use the integer primary key
...
from an index as part of a multi-column constraint.
FossilOrigin-Name: 96ea9909429f0b3b4a67002e8340ae3f7dc0b73f
2016-03-16 18:26:54 +00:00
drh
bacbbccd16
In the query planner, make sure OOM errors are reported up into
...
whereLoopAddVirtual() so that it shuts down appropriately.
FossilOrigin-Name: a13c59d08bcbc6f26ce6ac761a892eff8f035201
2016-03-09 12:35:18 +00:00
drh
d1cca3b721
Change an unreachable branch in the virtual table query planner into
...
an assert().
FossilOrigin-Name: 73b97b9ec3c39ab2828ae6353b5d7e04a27996c9
2016-03-08 23:44:48 +00:00
drh
3349d9bea9
Improved comments on virtual table query planning. Added many new
...
WHERETRACE() macros.
FossilOrigin-Name: 4c89c2534abcf67bc486d5a900a84a6c4f59537e
2016-03-08 23:18:51 +00:00
drh
6de32e7cdb
Simplified error detection in the xBestIndex processing.
...
FossilOrigin-Name: 82ca2131b670505578628687746135ac413d156b
2016-03-08 02:59:33 +00:00
drh
8426e36c8f
Add the ALLBITS macro as a shorthand for "(Bitmask)(-1)".
...
FossilOrigin-Name: 91bd619d27e4d91510a187bbb88de961a31c8a2e
2016-03-08 01:32:30 +00:00
drh
599d576456
Add a NEVER() to the code generator. Change the parameter name "mExtra"
...
to "mPrereq" in the query planner, to more closely reflect its meaning.
FossilOrigin-Name: 721ae51e443647291f3a8f7f2128aa410fee2682
2016-03-08 01:11:51 +00:00
dan
104ead923e
Fix a problem in the previous commit affecting queries with three or more tables joined together to the right of a LEFT or CROSS JOIN operator.
...
FossilOrigin-Name: d8d89d69a490a708b83147945f74134ae0e4b387
2016-03-05 21:32:14 +00:00
dan
115305ff00
Change the way SQLite invokes the xBestIndex method of virtual tables so that N-way joins involving virtual tables work as expected.
...
FossilOrigin-Name: ffc65968ede2c402e616147e6e3d737e6f9de21d
2016-03-05 17:29:08 +00:00
drh
dbc49161c0
Allow the left-hand side of IN operators on virtual tables to have the
...
aConstraintUsage[].omit flag clear.
FossilOrigin-Name: 1622623cbbfc4325c53d731aba78ca9c382ec612
2016-03-02 03:28:07 +00:00
drh
4fb48e4eb1
Improved debugging output with wheretrace. Fix some typos in test script
...
comments.
FossilOrigin-Name: 13a37fd487ce7d4f98a12f7a67a9c05dadc66557
2016-03-01 22:41:27 +00:00
drh
8c098e61b6
Fix an incorrect cost computation for sorting (introduced just a few
...
check-ins ago). Should be NlogN, not NloglogN.
FossilOrigin-Name: 2459d3238853951bc3a507dd975e7ec921cf8446
2016-02-25 23:21:41 +00:00
drh
5a6f5ede81
Improvement on the previous check-in: disallow automatic indexes for any
...
loop that is expected to run less than twice.
FossilOrigin-Name: aab53a21894ba51d325fd8f8f4bb4163ece74391
2016-02-25 18:22:09 +00:00
drh
87eb919d05
Do not use an automatic index on an outer loop that only runs once.
...
FossilOrigin-Name: 5957e793414ff80ed01a7a67e70c3fd096a3f6e0
2016-02-25 18:03:38 +00:00
drh
c3489bbf77
Take the LIMIT clause into account when estimating the cost of sorting.
...
FossilOrigin-Name: d491745cab951e0de70f1f79b7640ea8aff6e8bb
2016-02-25 16:04:59 +00:00
mistachkin
fad3039c51
Enhance ability to debug out-of-memory errors.
...
FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
2016-02-13 23:43:46 +00:00
drh
f981093760
Remove an unused parameter from whereSortingCost().
...
FossilOrigin-Name: b5d771991686bf86a679b7dff9f16301a5029c8b
2016-02-12 00:13:38 +00:00
drh
c50d5908b4
Remove the unexplained extra 3.0 cost factor for the B-tree sorting that is
...
done to implement DISTINCT in the absence of an index to help.
FossilOrigin-Name: 52571991fcfa2629e8a8354e0c9a62e749a092bf
2016-02-11 21:55:23 +00:00
drh
575fad6500
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority
...
cases where db is guaranteed to be not NULL.
FossilOrigin-Name: 0a802e96ab06e2643834b83671fa8353da1a348d
2016-02-05 13:38:36 +00:00
drh
4a642b6060
Improvements to the way that OOM errors are processed.
...
FossilOrigin-Name: c3ef03478a5788c855b3aef385d43ae7f494f440
2016-02-05 01:55:27 +00:00
drh
9c0c57a4ca
Improved comments on the FORDELETE hint. No logic changes.
...
FossilOrigin-Name: a3cec529f0238e4ca1196fec420f2de80d28db78
2016-01-21 15:55:37 +00:00
drh
00dcecab19
Performance optimization in the sqlite3VdbeChangeP4() routine of the
...
code generator.
FossilOrigin-Name: 28bd8d5fc541464b69886b7e886939035b42a869
2016-01-11 22:58:50 +00:00
drh
f19aa5fa6f
Changes to the way that the default BINARY collating sequence is recorded
...
result in a slightly smaller and slightly faster executable. More work could
be done to make this cleaner.
FossilOrigin-Name: 2081d75767dc590b4c8457e5f8e5f18ba5f8eaa7
2015-12-30 16:51:20 +00:00
drh
41d2e66ef3
Add the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option.
...
FossilOrigin-Name: 9e1d6d4c391ff90077f0d1cdeb567969fee9f747
2015-12-01 21:23:07 +00:00
dan
1acb539f4c
Add the "colUsed" field to the sqlite3_index_info structure passed to virtual table xBestIndex methods. To indicate the subset of the virtual table columns that may be required by the current scan.
...
FossilOrigin-Name: 116b206494eb8ba963c7c5acfbf9e7b6db11c79c
2015-11-26 19:33:41 +00:00
dan
07bdba86d5
Add experimental support for LIKE, GLOB and REGEXP to the virtual table interface.
...
FossilOrigin-Name: 277a5b4027d4c2caba8143228a4f7d6df899dbb4
2015-11-23 21:09:54 +00:00
dan
c5dc3dcd6e
Merge the BTREE_FORDELETE enhancement with this branch.
...
FossilOrigin-Name: 20da0849ce910ceb445954dfc5f985acf9a02695
2015-10-26 20:11:24 +00:00
drh
0691191d26
Merge in all trunk changes prior to the BTREE_FORDELETE enhancement.
...
FossilOrigin-Name: 53d5a4add6b60722ad77daf98b6b8983b081e16a
2015-10-26 18:51:09 +00:00
drh
3d541a5b8c
Provide the BTREE_FORDELETE flag to sqlite3BtreeCursor() if the cursor will
...
be used only for deletions and seeking.
FossilOrigin-Name: 871b1c78bcbea1cb03d482f2f424c4e012633695
2015-10-26 17:50:54 +00:00
drh
4dd83a22f2
Fix a C99-ism and a harmless compiler warning.
...
FossilOrigin-Name: 138783b553602a055b3efdeac5947cf5ccd76b5d
2015-10-26 14:54:32 +00:00