pub trait VirtualTableCursor: Send {
// Required methods
fn filter(
&mut self,
cx: &Cx,
idx_num: i32,
idx_str: Option<&str>,
args: &[SqliteValue],
) -> Result<()>;
fn next(&mut self, cx: &Cx) -> Result<()>;
fn eof(&self) -> bool;
fn column(&self, ctx: &mut ColumnContext, col: i32) -> Result<()>;
fn rowid(&self) -> Result<i64>;
}Expand description
A cursor for scanning a virtual table.
Cursors are Send but NOT Sync — they are single-threaded
scan objects bound to a specific filter invocation.
§Lifecycle
Required Methods§
Sourcefn filter(
&mut self,
cx: &Cx,
idx_num: i32,
idx_str: Option<&str>,
args: &[SqliteValue],
) -> Result<()>
fn filter( &mut self, cx: &Cx, idx_num: i32, idx_str: Option<&str>, args: &[SqliteValue], ) -> Result<()>
Begin a scan with the filter parameters chosen by best_index.