pub trait TableVirtual<'a>: Send + Sync {
// Required methods
fn initialize(
&mut self,
txn: &mut StandardTransaction<'a>,
ctx: TableVirtualContext<'a>,
) -> Result<()>;
fn next(
&mut self,
txn: &mut StandardTransaction<'a>,
) -> Result<Option<Batch<'a>>>;
fn definition(&self) -> &TableVirtualDef;
}Expand description
Trait for virtual table instances that follow the volcano iterator pattern
Required Methods§
Sourcefn initialize(
&mut self,
txn: &mut StandardTransaction<'a>,
ctx: TableVirtualContext<'a>,
) -> Result<()>
fn initialize( &mut self, txn: &mut StandardTransaction<'a>, ctx: TableVirtualContext<'a>, ) -> Result<()>
Initialize the virtual table iterator with context Called once before iteration begins
Sourcefn next(
&mut self,
txn: &mut StandardTransaction<'a>,
) -> Result<Option<Batch<'a>>>
fn next( &mut self, txn: &mut StandardTransaction<'a>, ) -> Result<Option<Batch<'a>>>
Get the next batch of results (volcano iterator pattern)
Sourcefn definition(&self) -> &TableVirtualDef
fn definition(&self) -> &TableVirtualDef
Get the table definition