Came up in Discord, some people might use the IS operator in certain metadata filters, like:
select *
from vec_items
where embedding match ?
and k = 20
and is_hidden is false -- not supported yet!
We only override the = operator, not IS.
Need to read up on the IS operator — is it always the same as the EQ operation?
// https://www.sqlite.org/vtab.html#the_xbestindex_method
#define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */
#define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */
#define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */
#define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */
Came up in Discord, some people might use the
ISoperator in certain metadata filters, like:We only override the
=operator, notIS.Need to read up on the
ISoperator — is it always the same as theEQoperation?