a partial index is usable.
[forum:/forumpost/d813704d7c|Forum post d813704d7c].
FossilOrigin-Name: 8cc23931d61b7d78521acce93fc2603649c5813c7a0869cb2c1bde2c8c4e51b4
table are not ordered and so the query planner should not assume they
are ordered. Fix for the issue identified by
[forum:/forumpost/6c8960f545|forum post 6c8960f545].
FossilOrigin-Name: c21bc5a2353e660f2acf5ed916921a4ee416910d0b3f2deb512a05c54138d1c0
indexes, make sure not to do so if the term being disabled is a transitive
constraint. Fix for the problem identified by
[forum:forumpost/eb8613976a|forum post eb8613976a].
FossilOrigin-Name: f1f9b5de3c59489b94963685660b3ddc45eece5535b02fec399b6ece0e38563d
where the NULL bypass fires before the affinity of the LHS operator has been
set. Fix for the problem described in
[forum:/forumpost/6a3ec138e9|forum post 6a3ec138e9].
FossilOrigin-Name: eb40248ce606b792a02e4e0b7dd826a82891c5f4c9793f3ca5d332e593109525
GROUP BY, do not assume that the values in an index on an expression are
non-NULL. Bug discovered by Wang Ke's fuzzer and reported at
[forum:/forumpost/74330094d8|forum post 74330094d8].
FossilOrigin-Name: 7178dc3a32c3a4a33e437fd5026f6f72e4809ceb7d2cd12a25a74b80d5c95d33
an OR constraint on a virtual table if one of the terms of the OR is an IN
operator. dbsqlfuzz 5ee7350b40014f5a878c5d6e76913a2d619f5146
FossilOrigin-Name: 5cb40e53edcb1e54cde0e54c38a647144bc3158435df0161f95c89732de086e6
sqlite3WhereBegin() early due to an OOM fault.
dbsqlfuzz 1247a51318047aba42e7f6991dfa62577cb7a151.
FossilOrigin-Name: 0e19af72d84f96245cb4a5cfc37232579b6f5fdebd525f8b6515a4f2cc84e273
SQLITE_ALLOW_ROWID_IN_VIEW compile-time option to restore legacy behavior
in case somebody actually needs it.
FossilOrigin-Name: 14b1d56ef84b0e62b7f9c4e5f7f985ca10e770c8db59f54004ad892c2a2dcbfb
part of a UNIQUE index if the index is also a partial index.
Fix for the bug reported by
[forum:/forumpost/66954e9ece|forum post 66954e9ece].
FossilOrigin-Name: c2f940b02883e165172a4ca21c7095ffbef84ddc5367853dfeca93fda20d6056
aggressive for the cases where there is a join and outer loops contain
IN operators. Fix this. Test case in TH3.
FossilOrigin-Name: ccd3bae14b6b47bb0f9622700c04db989f76ce65e10e0709964cfd0675eca762
[/info/b8ba2f17f938c035|check-in b8ba2f17f938c035] to fix the performance
regression identified by
[forum:/forumpost/623f571482|forum post 623f571482].
FossilOrigin-Name: 188772a1dbaf066fbddd39c718fdd87478b19a920622f4640bcb79d4ef065331
sqlite3ExprSkipCollateAndLikely() is never NULL in some of its use cases.
FossilOrigin-Name: 76d2eb86e109fc3cbdba2e8175c22ed7660b59bb9315f6c55c565587f33ad43b
an index when most of the rows will be selected. This branch is trying to
tune the query planner to make that happen more often.
FossilOrigin-Name: 0f42099ad65855c94af8472f3a6fddac7fc2a82e8fdfcc06a298eb6683a28688
Problem reported [forum:/info/80a9c47769772207|by forum post 80a9c47769772207].
FossilOrigin-Name: 883da4dadc88809192e4ed2f753f8883471fb43aa330bc58b017c66e1acedc6c
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
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
index accesses. Code is now slightly smaller and faster than trunk.
FossilOrigin-Name: 611b640442025e57b8e161f8ddac1f19bd3be9a3d5266f4cef287595c3ed9257
using the index rather than the main table, so as to avoid unnecessary
main table seeks.
FossilOrigin-Name: 2f7cb6ab39e54fd6eb3a280d3022c3d4f4ed92e83af7226e63e0199a96397a6b
crossing over LEFT JOINs, as long as the table being moved is not the
right table of the LEFT JOIN.
FossilOrigin-Name: c1ea064948ba08c4be209ad6efc2126a7367bcb06266ea35eb957bf2d4e2cb9f