]> git.ipfire.org Git - thirdparty/sqlite.git/commit
Revisiting the IN-scan optimization to try to fix it for the corner case
authordrh <drh@noemail.net>
Mon, 28 Sep 2020 19:51:54 +0000 (19:51 +0000)
committerdrh <drh@noemail.net>
Mon, 28 Sep 2020 19:51:54 +0000 (19:51 +0000)
commit68cf0ace3d160c8b3c12ee692c337f0d47e079d7
treee041de53f731a5c1c7dd07ef3f9e565bd7465d2f
parent75fa266341f5f7ae87c34a153c7db990d63ccfd4
Revisiting the IN-scan optimization to try to fix it for the corner case
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
manifest
manifest.uuid
src/vdbe.c
src/where.c
src/whereInt.h
src/wherecode.c