Commit Graph

24 Commits

Author SHA1 Message Date
dan
dedff6be8a Add the "sorter-reference" optimization, allowing SQLite to be configured so
that some required values may be loaded from the database after external
sorting occurs for SELECT statements with ORDER BY clauses that are not
satisfied by database indexes.

FossilOrigin-Name: ef74090a40ceaef2fd93a7613ec99a191ce986811c852e96f4a19719f18af4f0
2018-04-18 19:56:14 +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
a9c18a9067 Test cases added. Comments fixed. Proposed solution for
ticket [05f43be8fdda9fbd9].

FossilOrigin-Name: 6b993bd54035b67f4d84941e3f444ca79b7feee1
2015-03-06 20:49:52 +00:00
drh
cfc6ca4179 Seek past NULLs in a top-constrained search. Avoid checking for NULLs in
the body of the search.

FossilOrigin-Name: e07a32f30862acf3b322d4d8deb015846d6f8f5f
2014-02-14 23:49:13 +00:00
drh
7c3280649a Make sure that virtual WHERE-clause terms do not get transformed into real
terms when processing set of OR-connected terms.
Fix for ticket [4c86b126f22ad].

FossilOrigin-Name: c950d6c4117d076f871518e738cdf9e8c46a19fc
2014-02-11 01:50:29 +00:00
drh
d4ddae985b Disable the OR optimization for WITHOUT ROWID tables, since it relies on
the use of rowids.

FossilOrigin-Name: 6055dad2ba2f9256b1f2d0a9e32ca00f1b81b0cf
2013-11-06 12:05:57 +00:00
drh
aa32e3c60a Enhance the query planner so that it looks at multiple solutions to OR
expressions in the WHERE clause.

FossilOrigin-Name: 5e19d054105fb16ff52d265d48cc87a418603f6f
2013-07-16 21:31:23 +00:00
drh
fd5874d23d Add the "queryplanner" test permutation. Continuing refinements to NGQP.
FossilOrigin-Name: 25e2cde105a19293bdb9c001b48624e5d7f8c4e5
2013-06-12 14:52:39 +00:00
dan
4c5aeecc90 Fix minor test script issues causing releasetest.tcl to fail.
FossilOrigin-Name: d8ded9d8a1052885ce223c70efa55c0dd8b9920e
2013-05-16 19:15:07 +00:00
drh
3c449c6b6b Make sure extra parentheses around subqueries in the FROM clause are harmless.
Ticket [28c6e830f239ea5].

FossilOrigin-Name: 1c79569226db3d5a73e65a35877635ea8b478866
2013-04-30 14:06:57 +00:00
drh
832ee3d4cc Optimize the degenerate case of a FROM clause table name enclosed all by
itself inside parentheses.  Generate code as if the parentheses did not
exist, rather than the old behavior of manifesting the parenthesized table
into a transient table.  Also, tag every FROM-clause SELECT subquery that is
generated by a parenthesized FROM-clause expression using the SF_NestedFrom
flag.  The new SF_NestedFrom flag is not yet used for anything.

FossilOrigin-Name: 7fecced466d86a66b0b751c5b5608141e134fe2d
2012-12-18 19:36:11 +00:00
drh
ed754ce2cc Further refinements to table order selection on join query planning.
FossilOrigin-Name: defaf0d99a807027f8883bf821b6482025f9f54e
2010-04-15 01:04:54 +00:00
drh
c01a3c1775 Ensure WHERE clause terms involving tables on the right end of a join
are not prematurely evaluated when tables on the left end of the join
make use of the OR-clause optimization.  
Fix for ticket [31338dca7e].

FossilOrigin-Name: 2c2de252666662f5459904fc33a9f2956cbff23c
2009-12-16 22:10:49 +00:00
drh
9f3962e7b5 Make sure a variable is cleared before use in the where8.test script.
FossilOrigin-Name: b34365296d65310bb015901d18ed463e73d47cbe
2009-12-02 02:49:49 +00:00
dan
5236ac1d04 Changes to the query planner that improve the order in which tables/indexes are scanned in join queries.
FossilOrigin-Name: 19f799b32f9d1be25d4185ce18b13f4dd502e199
2009-08-13 07:09:33 +00:00
danielk1977
f51d1bd665 Fix a bug in where.c that could cause SQLite to write to freed memory while compiling a query with many terms in the WHERE clause. (CVS 6952)
FossilOrigin-Name: 8161af840e8fd2b06457e75023f934e1b8fe5fd6
2009-07-31 06:14:51 +00:00
drh
c4ac22e905 Disable the LIKE optimization if the affinity of the LHS column is
not TEXT.  Ticket #3901. (CVS 6727)

FossilOrigin-Name: a255c645c46ae03b65f862858fe57e462076e1fc
2009-06-07 23:45:10 +00:00
drh
dda70fe38e Remove leftover "breakpoint" commands from test scripts. Also remove blank
lines at the end of scripts. (CVS 6721)

FossilOrigin-Name: 1fef16ec2b89981770cf44f606a420fbe031a7a4
2009-06-05 17:09:11 +00:00
danielk1977
1d46146b58 Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527)
FossilOrigin-Name: f61e4cd93682fd98bea2a71d346f9eaa68454390
2009-04-21 09:02:45 +00:00
danielk1977
13da67e5aa Add further pseudo-randomly generated test cases to where8.test. (CVS 6083)
FossilOrigin-Name: e01f6ef9d981d50a70c05edc4ef8135dbc473ba1
2008-12-30 16:13:04 +00:00
danielk1977
c1071e53e7 Fix a bug in where8.test causing a tcl exception. (CVS 6082)
FossilOrigin-Name: 495b569a3921042c36667a415c1353201760fa17
2008-12-30 15:51:40 +00:00
danielk1977
9357416a25 Add a few more tests to where8.test. (CVS 6081)
FossilOrigin-Name: ac28aa8b618d59628c5b8fc6fe649ec14f554b11
2008-12-30 15:26:29 +00:00
danielk1977
5f0ff5d527 Add a couple of extra tests for the "WHERE ... OR" optimization. (CVS 6077)
FossilOrigin-Name: 35c87585b81866e73a58adffe6af79ddcac57cf6
2008-12-30 12:00:12 +00:00
danielk1977
fdc4019b46 Add test file where8.test. (CVS 6072)
FossilOrigin-Name: bff460ec2c3e250de034a6b34312b897bb2f3749
2008-12-29 18:33:32 +00:00