pub struct ExecutionContext<'a> {
pub catalog: &'a mut Catalog,
/* private fields */
}Expand description
Shared state threaded through every physical operator during execution. Exposes MVCC helpers, storage access, expression evaluation and DDL utilities.
Fields§
§catalog: &'a mut CatalogMutable reference to the global catalog (schema + metadata).
Implementations§
Source§impl<'a> ExecutionContext<'a>
impl<'a> ExecutionContext<'a>
pub fn new( catalog: &'a mut Catalog, txn: &'a mut Transaction, txn_mgr: Arc<TransactionManager>, storage: Arc<HoltStorage>, ) -> Self
Sourcepub fn eval_predicate(&self, expr: &Expr, tuple: &Tuple) -> QuillSQLResult<bool>
pub fn eval_predicate(&self, expr: &Expr, tuple: &Tuple) -> QuillSQLResult<bool>
Evaluate an expression expected to produce a boolean result.
Sourcepub fn eval_expr(
&self,
expr: &Expr,
tuple: &Tuple,
) -> QuillSQLResult<ScalarValue>
pub fn eval_expr( &self, expr: &Expr, tuple: &Tuple, ) -> QuillSQLResult<ScalarValue>
Evaluate an arbitrary scalar expression.
Sourcepub fn table(&self, table: &TableReference) -> QuillSQLResult<TableBinding>
pub fn table(&self, table: &TableReference) -> QuillSQLResult<TableBinding>
Look up the table binding through Holt storage.
pub fn txn_ctx(&self) -> &TxnContext<'a>
pub fn txn_ctx_mut(&mut self) -> &mut TxnContext<'a>
Auto Trait Implementations§
impl<'a> Freeze for ExecutionContext<'a>
impl<'a> !RefUnwindSafe for ExecutionContext<'a>
impl<'a> Send for ExecutionContext<'a>
impl<'a> Sync for ExecutionContext<'a>
impl<'a> Unpin for ExecutionContext<'a>
impl<'a> UnsafeUnpin for ExecutionContext<'a>
impl<'a> !UnwindSafe for ExecutionContext<'a>
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