Skip to main content

VTabCursor

Trait VTabCursor 

Source
pub trait VTabCursor<P: Sqlite3Api>: Sized + Send {
    type Error: Into<Error>;

    // Required methods
    fn filter(
        &mut self,
        idx_num: i32,
        idx_str: Option<&str>,
        args: &[ValueRef<'_>],
    ) -> Result<(), Self::Error>;
    fn next(&mut self) -> Result<(), Self::Error>;
    fn eof(&self) -> bool;
    fn column(&self, ctx: &Context<'_, P>, col: i32) -> Result<(), Self::Error>;
    fn rowid(&self) -> Result<i64, Self::Error>;
}
Expand description

Virtual table cursor implementation.

Required Associated Types§

Source

type Error: Into<Error>

Error type mapped into crate Error.

Required Methods§

Source

fn filter( &mut self, idx_num: i32, idx_str: Option<&str>, args: &[ValueRef<'_>], ) -> Result<(), Self::Error>

Apply constraints and initialize iteration.

Source

fn next(&mut self) -> Result<(), Self::Error>

Advance to the next row.

Source

fn eof(&self) -> bool

Whether iteration reached end-of-input.

Source

fn column(&self, ctx: &Context<'_, P>, col: i32) -> Result<(), Self::Error>

Emit one output column into SQLite context.

Source

fn rowid(&self) -> Result<i64, Self::Error>

Return current rowid.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§