pub trait InternalVirtualTable:
Debug
+ Send
+ Sync {
// Required methods
fn name(&self) -> String;
fn open(
&self,
conn: Arc<Connection>,
) -> Result<Arc<RwLock<dyn InternalVirtualTableCursor>>>;
fn best_index(
&self,
constraints: &[ConstraintInfo],
order_by: &[OrderByInfo],
) -> Result<IndexInfo, ResultCode>;
fn sql(&self) -> String;
}Required Methods§
fn name(&self) -> String
fn open( &self, conn: Arc<Connection>, ) -> Result<Arc<RwLock<dyn InternalVirtualTableCursor>>>
Sourcefn best_index(
&self,
constraints: &[ConstraintInfo],
order_by: &[OrderByInfo],
) -> Result<IndexInfo, ResultCode>
fn best_index( &self, constraints: &[ConstraintInfo], order_by: &[OrderByInfo], ) -> Result<IndexInfo, ResultCode>
best_index is used by the optimizer. See the comment on Table::best_index.
fn sql(&self) -> String
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".