I think there is a flaw in information passing between the xBestIndex and xFilter methods in virtual tables.
The information about the constraint operation in the aConstraint array can't reach xFilter. But how is xFilter to know how to set up the cursor when a statement like SELECT * FROM MyTable WHERE a > 10 is given? I can pass the index covering a and I can make SQLite pass the constant 10 to xFilter, but not the > operation. IMHO xBestIndex should be called after xOpen as opposed to before and have a cursor parameter so I can set up the whole filtering information on my terms. Any thoughts on that? Cheers, Johnny