pub enum DataSource {
Scan {
relation: NameId,
vars: Vec<NameId>,
},
ScanDelta {
relation: NameId,
vars: Vec<NameId>,
},
IndexLookup {
relation: NameId,
col_idx: usize,
key: Operand,
vars: Vec<NameId>,
},
}Variants§
Scan
Scan a relation (iterate over all tuples).
Binds the variables in vars to the columns of the relation.
ScanDelta
Scan only the “delta” set of a relation (new facts from last iteration).
IndexLookup
Lookup in an index.
col_idx: The column index to lookup on.
key: The value to look up.
vars: Variables to bind to the other columns (or all columns?).
For simplicity: vars maps to the relation columns. The column at col_idx
is already bound (to key), but we might re-bind it or check it.
Trait Implementations§
Source§impl Clone for DataSource
impl Clone for DataSource
Source§fn clone(&self) -> DataSource
fn clone(&self) -> DataSource
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DataSource
impl Debug for DataSource
Source§impl PartialEq for DataSource
impl PartialEq for DataSource
impl StructuralPartialEq for DataSource
Auto Trait Implementations§
impl Freeze for DataSource
impl RefUnwindSafe for DataSource
impl Send for DataSource
impl Sync for DataSource
impl Unpin for DataSource
impl UnsafeUnpin for DataSource
impl UnwindSafe for DataSource
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more