]> git.ipfire.org Git - thirdparty/sqlite.git/commit
The top of an index equality loop normally starts with OP_SeekGE and OP_IdxGT.
authordrh <drh@noemail.net>
Thu, 5 Nov 2015 20:25:09 +0000 (20:25 +0000)
committerdrh <drh@noemail.net>
Thu, 5 Nov 2015 20:25:09 +0000 (20:25 +0000)
commit70528d7868e67752833c6bac7b34f4d5d652d130
tree372b20b32551bbbe108cd161a8e2d93bcd8beea5
parentd82211db56f53b2ddf0e62904f3c691d24bd2afb
The top of an index equality loop normally starts with OP_SeekGE and OP_IdxGT.
This check-in adds a flag to OP_SeekGE such that it fails immediately if
the key is not equal, then jumps over the OP_IdxGT, saving a call to the key
comparison functions.  Consider this check-in a proof-of-concept.  It needs
improvement before going on trunk.  Some tests fail, but only because they
new use fewer key comparisons than expected (which is a good thing!).

FossilOrigin-Name: 32e31b9bc8664afcd326a1ff3892d86dc5202474
main.mk
manifest
manifest.uuid
src/sqliteInt.h
src/vdbe.c
src/vdbeaux.c
src/wherecode.c