Trait VTab

Source
pub trait VTab<'vtab>: Sized {
    type Aux;
    type Cursor: VTabCursor;

    // Required methods
    fn connect(
        db: *mut sqlite3,
        aux: Option<&Self::Aux>,
        args: VTabArguments,
    ) -> Result<(String, Self)>;
    fn best_index(&self, info: IndexInfo) -> Result<(), BestIndexError>;
    fn open(&'vtab mut self) -> Result<Self::Cursor>;

    // Provided methods
    fn create(
        db: *mut sqlite3,
        aux: Option<&Self::Aux>,
        args: VTabArguments,
    ) -> Result<(String, Self)> { ... }
    fn destroy(&self) -> Result<()> { ... }
}

Required Associated Types§

Required Methods§

Source

fn connect( db: *mut sqlite3, aux: Option<&Self::Aux>, args: VTabArguments, ) -> Result<(String, Self)>

Source

fn best_index(&self, info: IndexInfo) -> Result<(), BestIndexError>

Source

fn open(&'vtab mut self) -> Result<Self::Cursor>

Provided Methods§

Source

fn create( db: *mut sqlite3, aux: Option<&Self::Aux>, args: VTabArguments, ) -> Result<(String, Self)>

Source

fn destroy(&self) -> Result<()>

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§