drh
0bf2ad6a18
Clearer presentation of the logic. No functional changes.
...
FossilOrigin-Name: a3dcf6db76cc09bdfedb1bbeba3b359b77762cbe
2016-02-22 21:19:54 +00:00
drh
a6d2f8eb1e
Avoid an unnecessary seek operation on some corner-case skip-scans.
...
FossilOrigin-Name: 38e837e605076124b73235e1fd832838d9545cb2
2016-02-22 20:52:26 +00:00
drh
4df86af329
Remove unnecessary sets of db->mallocFailed.
...
FossilOrigin-Name: b787165b25a240fd5b4a5c7f73b395f30213a1d7
2016-02-04 11:48:00 +00:00
dan
cddb6ba03b
Fix a problem causing the OR/covering-index optimization to be disabled if compile time parameter SQLITE_MAX_ATTACHED were set to greater than 30.
...
FossilOrigin-Name: a17712bf8d98dd485560f434a5350e6381cf1411
2016-02-01 13:58:56 +00:00
drh
784c1b93fb
Merge the implementation of OP_IdxRowid and OP_Seek so that OP_Seek no longer
...
requires the rowid register and a separate OP_IdxRowid call. Shorter and
faster prepared statements result.
FossilOrigin-Name: 9bec50a1e7796a6e038db9b1cc7cc1e7e350bf74
2016-01-30 16:59:56 +00:00
drh
5f4a686f8c
Simplification and size reduction to the printf logic. Remove the bFlags
...
parameter from sqlite3VXPrintf() and sqlite3XPrintf(). Use sqlite3XPrintf()
instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output.
FossilOrigin-Name: 0bdb41c45aa1cc8e5c136aaa6605d54b401483bd
2016-01-30 12:50:25 +00:00
drh
b17020265b
Change the P4_INTARRAY so that always begins with a length integer. Print
...
the content of the INTARRAY on EXPLAIN output.
FossilOrigin-Name: 6c520d5726e80b4251338c43c405270d150ea81e
2016-01-30 00:45:18 +00:00
dan
de892d9660
Experimental attempt to make better use of covering indexes within OR queries.
...
FossilOrigin-Name: a323ac3a9d42bd5cb38d724c7e1180584b91054c
2016-01-29 19:29:45 +00:00
drh
3b83f0cd8f
Avoid unnecessary WHERE clause term tests when coding a join where one
...
of the tables contains a OR constraint.
FossilOrigin-Name: ab94603974a0ad5342e5aee27603162652e70492
2016-01-29 16:57:06 +00:00
drh
9b34abee30
Use sqlite3VdbeAddOp4() rather than a separate sqlite3VdbeChangeP4() call, for
...
a slightly smaller and faster binary.
FossilOrigin-Name: a4258cd4613c55acacb5c7b61faa3de7eb0759d2
2016-01-16 15:12:35 +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
drh
1167d32716
Make the internal sqlite3PExpr() interface responsive to the
...
TKFLG_DONTFOLD flag on the operator parameter.
FossilOrigin-Name: b10ab59fb8a696d11a269f3904e799c687246aea
2015-10-28 20:01:45 +00:00
drh
0030aaad67
Merge recent enhancements from trunk. Version now 3.9.1.
...
FossilOrigin-Name: 26fa091d68e89a0b6af61ba706d23a9f37e8025a
2015-10-16 20:53:57 +00:00
drh
ce78bc6e7e
Enhance the use of the column cache for UPDATE statements, making them
...
more efficient for the case where a column is modified to be an expression
of other unmodified columns.
FossilOrigin-Name: 871e091df651b2275a672c35ff938bd4b6db0d7f
2015-10-15 19:21:51 +00:00
drh
99f4647ef5
Merge in all the 3.9.0 updates from trunk.
...
FossilOrigin-Name: 29444149342fc6b1ea8cd34c2c8e1fcb06eaa7ed
2015-10-14 20:09:54 +00:00
drh
728e0f91bb
Compiler warning fixes: Rename some local variables from "j1" to avoid a
...
name collision with the j1() bessel function in the math library. Omit a
dummy initializer that gcc 4.6.3 does not like.
FossilOrigin-Name: 9ddef84d432813f3ece8012047d08441caa3315d
2015-10-10 14:41:28 +00:00
drh
4b92f98ccc
Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2)
...
magic numbers in Index.aiColumn[]. Add asserts to help verify that
Index.aiColumn[] is always used correctly. Fix one place in FK processing
where Index.aiColumn[] was not being used correctly.
FossilOrigin-Name: 7d272aa62cd4cbbf4b5d04e3b918de27671e8301
2015-09-29 17:20:14 +00:00
dan
354474ad6d
Add tests for fts3 and onepass update/delete operations. Also fix a problem with onepass updates that do not affect any rows.
...
FossilOrigin-Name: 820c804468abff692742952de670c5d906a50956
2015-09-29 10:11:26 +00:00
drh
ae1a015c87
Merge trunk changes into the cursor-hints branch.
...
FossilOrigin-Name: fbe637620fb7f2c9395c9ddac77d26746d6d4178
2015-09-24 15:06:30 +00:00
drh
8faee877cb
Fix compiler warnings.
...
FossilOrigin-Name: 5c31ee62a196b914673384a611534fd778dc64b0
2015-09-19 18:08:13 +00:00
drh
e63e8a6c78
Fix a crash that can occur with a skip-scan on an index with
...
expressions when SQLITE_ENABLE_EXPLAIN_COMMENTS is defined.
FossilOrigin-Name: 25f34cb9b576a2d4250a06a7dbf88010b1c11675
2015-09-18 18:09:28 +00:00
drh
81966bea22
Merge enhancements from trunk.
...
FossilOrigin-Name: 66fe06832614010d3156d7b21a760af9957018cc
2015-09-15 17:31:47 +00:00
drh
b0264eeca1
Use symbolic names ONEPASS_OFF, ONEPASS_SINGLE, and ONEPASS_MULTI for the
...
various modes of the one-pass optimization.
FossilOrigin-Name: 16e56bdadef903c6439a487f2683388aeeb0c625
2015-09-14 14:45:50 +00:00
drh
66336f3755
Fix a compiler warning and providing missing VdbeCoverage() calls.
...
FossilOrigin-Name: 2edd2e5edd60210e18db58bce1e096dd211b6ece
2015-09-14 14:08:25 +00:00
dan
c6157e1971
Avoid calling sqlite3VdbeCursorMoveto() from more than one point in vdbe.c. Doing so prevents it from being inlined as part of OP_Column.
...
FossilOrigin-Name: 166d5af8914c6954fb24a06e9686f194c0d0acde
2015-09-14 09:23:47 +00:00
drh
163c29c5f3
Merge enhancements from trunk.
...
FossilOrigin-Name: 25ee3000e94d60d8c1d7b980f416dcc33eb11105
2015-09-03 14:39:33 +00:00
drh
34de0c8c5e
Merge enhancements from trunk.
...
FossilOrigin-Name: 1ab10cbf27245961b40eda1ce70f35646f0a9966
2015-09-03 14:18:12 +00:00
drh
076e85f59c
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help
...
with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto()
to just sqlite3VdbeGoto().
FossilOrigin-Name: 847387ec8e6fef283899578fb232b2c23b00ee5b
2015-09-03 13:46:12 +00:00
drh
2991ba050b
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for
...
sqlite3VdbeAddOp2(v,OP_Goto,0,i).
FossilOrigin-Name: be78f413df1b0d874b44a866ef6bf17543d7e8a2
2015-09-02 18:19:00 +00:00
drh
2ed0d809a6
Small simplification to the EXPLAIN QUERY PLAN logic.
...
FossilOrigin-Name: d1592d201afea20cb2ca94fe2bf5ae031bd29ede
2015-09-02 16:51:37 +00:00
drh
d37bea5bdc
Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places
...
for better performance and a smaller footprint.
FossilOrigin-Name: 82355e41084387fa11b7b531e4d660dd3b4cd984
2015-09-02 15:37:50 +00:00
drh
4970d4032e
Merge enhancements from trunk.
...
FossilOrigin-Name: 29570a604806e2a60a8eef7eaf1dce022d2a7004
2015-09-01 18:31:19 +00:00
drh
c7c4680ffd
Fix EXPLAIN QUERY PLAN output for indexed-expressions. Fix another
...
obscure fault in the WHERE term scanner.
FossilOrigin-Name: 73d361ce9e4d72c943def8b0b3caa227f9199aed
2015-08-27 20:33:38 +00:00
drh
e910769817
Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the
...
affinity of an index column.
FossilOrigin-Name: 1ee089a72d789002a0a377347fc51e08ab32fb14
2015-08-25 19:20:04 +00:00
drh
c1bd84124b
Merge recent enhancements from trunk, including table-valued expressions.
...
FossilOrigin-Name: b9927c876c1d4e146cb6a603d82cd2489594084d
2015-08-20 23:45:59 +00:00
drh
8a48b9c0b1
Minor refactor of the SrcList object so that it is able to hold the argument
...
list to a table-valued-function in the FROM clause.
FossilOrigin-Name: b919376147597c4b73421abe5788f893baf1560b
2015-08-19 15:20:00 +00:00
drh
bcf40a7f12
Provide hints for all terms in a range constraint if there are any equality
...
terms anywhere in the constraint. Range constraint terms are only omitted
for a pure range constraint with no equality prefix.
FossilOrigin-Name: b5897bc0f003c470eeb2a75e0a2b2bb202681531
2015-08-18 15:58:05 +00:00
drh
b413a5467a
Avoid generating hints using constraints that are also used to initialize the
...
cursor, since presumably the cursor already knows about those constraints.
FossilOrigin-Name: 142b048ac778620dd4e448c2e969982eb8188501
2015-08-17 17:19:28 +00:00
drh
2f2b02785a
Fix the cursor hint mechanism so that it does the right thing for indexed
...
lookups.
FossilOrigin-Name: 581e3d4988e98975fea5daaeb9f854c54a4976b7
2015-08-14 18:50:04 +00:00
drh
0df57012da
Refactor the sqlite3BtreeCursorHint() interface for improved maintainability.
...
FossilOrigin-Name: fc3fb5cd0d2c123a069e5b18b62bb1f708c8698a
2015-08-14 15:05:55 +00:00
drh
fe66352d17
Fix the CursorHint so that it includes the scan boundary constraints.
...
On the expression text for the CursorHint opcode, show rowid correctly.
FossilOrigin-Name: f0d428d13a787251c2ca7685fec2a91b550eefba
2015-08-14 01:03:21 +00:00
drh
bec2476afc
Merge in all the trunk changes from the previous year. This breaks the
...
cursor-hint mechanism, but provides a baseline for trouble-shooting.
FossilOrigin-Name: 82a7a61bc0883b1e7432548e4890791717aa1bb3
2015-08-13 20:07:13 +00:00
drh
d3e3f0b46e
The sqlite3ExprCodeGetColumn() is not guaranteed to put the result in the
...
register requested. Fix the skip-scan code generator for WITHOUT ROWID
tables so that it always checks the register and copies the result if it
lands in the wrong register. Fix for ticket [8fd39115d8f46ece70e7d4b3].
FossilOrigin-Name: 793e206f9032d9205bdb3f447b136bed9a25fa22
2015-07-23 16:39:33 +00:00
drh
6f82e85a80
Split out the bulk of the actual VDBE code generation logic from where.c
...
into a new file, leaving behind the analysis logic. This makes the original
where.c smaller and hopefully easier to edit.
FossilOrigin-Name: faa0e420e93a2bc1c84df9eb9fef4748d29ce339
2015-06-06 20:12:09 +00:00