IN-earlyout optimization because the OP_IfNoHope opcode might move the
cursor.
FossilOrigin-Name: f3c36b840c9a29c0add28039db216f4207a308e5057fc76e3f0004024a8267ac
where the statistics deceive the query planner into using a scan when
an indexed lookup would be better. This check-in changes the code
generation to do the IN-scan using a new OP_SeekScan opcode. That new
opcode is designed to abandon the scan and fall back to a seek if
it doesn't find a match quickly enough. For this work-in-progress check-in,
OP_SeekScan is still a no-op and OP_SeekGE still ends up doing all the work.
FossilOrigin-Name: d720b6981eeb0ffdb14494ca63eca298ee724ae4ad4863c7c7cbfdad7fa52519
file, so that the C-file can be stand-alone. (2) If the grammar begins with
a %include {...} directive on line one, make that directive the header for
the generated C file. (3) Enhance the lemon.html documentation.
FossilOrigin-Name: 84d54eb35716174195ee7e5ac846f47308e5dbb0056e8ff568daa133860bab74
efficiently when there are two or more indexed IN clauses on a single table.
FossilOrigin-Name: 35505c68c1945c35babd2496e02bc4907a15c8e7b8d77f05f230bd0e9d4891d7
sqlite3BtreeMovetoUnpacked() on the main database and then resets the
counter. This only works for SQLITE_DEBUG builds.
FossilOrigin-Name: dca5b91926431768babac28a6faf7674a5014db95caba727995b470e92b3182a
conversions that was done for floating point conversions by
check-in [1c76f1d8ec0937a2].
FossilOrigin-Name: aafb7a21041090e529491b0ce30c3902420be0551b1b2c55840a5fbb9105fb7d
of sqlite3_db_readonly() and sqlite3_txn_state() for each database file.
FossilOrigin-Name: 0ffd16d23dd3b6467cce31af506c70fde44c3796d386c2a03896e43a6d683e60
run the remainder of the argument as a command and read input from the
output of that command.
FossilOrigin-Name: 6c716f4b556ea8f9c9f15cffd81cb970488eadf1d5da2ba6b366d3bdeb36e492
DISTINCT by B-Tree by half, under the assumption that the DISTINCT will
eliminate about half the rows of output. This is really a wild guess. But
we do not have any better way of estimating what the row-count reduction due
to DISTINCT will actually be.
FossilOrigin-Name: 8787417ec1da8071d84c6ff0d7a90b5fd458ab6baba871327f36bc4e1bceca61
Fix to check-in [ac31edd3eeafcef4] which was itself a fix for ticket
[45f4bf4eb4ffd788].
FossilOrigin-Name: 871f2ddcfbb9196dbd851a350e3471ee6d242d86bbd755201f7e2406fce3ac55
range scan. The subsequent OP_IdxGT will always catch the NULL. Similarly,
omit the not-NULL check on the lower bound of a reverse index range scan,
as the SeekLE opcode will disallow the NULL.
FossilOrigin-Name: e51ecadcbdef5ce6e41d68412aee70aa4a1416c850358a6fa7e9a1ab443e719d
index accesses. Code is now slightly smaller and faster than trunk.
FossilOrigin-Name: 611b640442025e57b8e161f8ddac1f19bd3be9a3d5266f4cef287595c3ed9257
be resolved, add the OP_FinishSeek opcode after all WHERE clause terms have
been processed. This obviates the need for the WHERE_SEEK_TABLE and
WHERE_SEEK_UNIQ_TABLE flags to sqlite3WhereBegin() and the ensuing
complication, and it allows the covering index optimization to be used
further into WHERE clause processing.
FossilOrigin-Name: a495f60d315e34b1a1bc5fb1336e05047add52c8fb2710b577c97b10a5e734f6
using the index rather than the main table, so as to avoid unnecessary
main table seeks.
FossilOrigin-Name: 2f7cb6ab39e54fd6eb3a280d3022c3d4f4ed92e83af7226e63e0199a96397a6b