Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix IdxGt,IdxGe,IdxLt,IdxLe instructions
According to SQLite documentation, the way to use these instructions is to compare the seek key to the index key as you would with the Compare opcode. The compare opcode states: "Compare two vectors of registers in reg(P1)..reg(P1+P3-1) (call this vector "A") and in reg(P2)..reg(P2+P3-1) ("B")." In other words, we should compare the same number of columns from each, not compare the entire keys. This fixes a few Clickbench queries returning incorrect results, and so closes #1009 --- Future work: support index seek keys that use multiple columns. Our index seek is many times slower than SQLite because we're not utilizing all the possible columns -- instead we just use the first index column to seek.
- Loading branch information