pub trait SystemTable {
// Required methods
fn table_id(&self) -> TableId;
fn table_name(&self) -> &'static str;
fn schema(&self) -> SchemaRef;
fn to_stream(
&self,
request: ScanRequest,
) -> Result<SendableRecordBatchStream>;
// Provided methods
fn scan_plan(
&self,
_request: ScanRequest,
) -> Result<Option<Arc<dyn ExecutionPlan>>> { ... }
fn table_type(&self) -> TableType { ... }
}