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<()>

Object Safety§

This trait is not object safe.

Implementors§