Skip to main content

IndexHandle

Trait IndexHandle 

Source
pub trait IndexHandle: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn key_schema(&self) -> SchemaRef;
    fn index_id(&self) -> u64;
    fn insert(
        &self,
        key: &Tuple,
        rid: RecordId,
        txn_id: TransactionId,
    ) -> QuillSQLResult<()>;
    fn delete(
        &self,
        key: &Tuple,
        rid: RecordId,
        txn_id: TransactionId,
    ) -> QuillSQLResult<()>;
    fn range_scan(
        &self,
        table: Arc<dyn TableHandle>,
        request: IndexScanRequest,
    ) -> QuillSQLResult<Box<dyn TupleStream>>;
}

Required Methods§

Source

fn name(&self) -> &str

Source

fn key_schema(&self) -> SchemaRef

Source

fn index_id(&self) -> u64

Source

fn insert( &self, key: &Tuple, rid: RecordId, txn_id: TransactionId, ) -> QuillSQLResult<()>

Source

fn delete( &self, key: &Tuple, rid: RecordId, txn_id: TransactionId, ) -> QuillSQLResult<()>

Source

fn range_scan( &self, table: Arc<dyn TableHandle>, request: IndexScanRequest, ) -> QuillSQLResult<Box<dyn TupleStream>>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§