pub trait ExternalTableReader: Sized {
// Required methods
async fn current_cdc_offset(&self) -> ConnectorResult<CdcOffset>;
fn snapshot_read(
&self,
table_name: SchemaTableName,
start_pk: Option<OwnedRow>,
primary_keys: Vec<String>,
limit: u32,
) -> BoxStream<'_, ConnectorResult<OwnedRow>>;
fn get_parallel_cdc_splits(
&self,
options: CdcTableSnapshotSplitOption,
) -> BoxStream<'_, ConnectorResult<CdcTableSnapshotSplit>>;
fn split_snapshot_read(
&self,
table_name: SchemaTableName,
left: OwnedRow,
right: OwnedRow,
split_columns: Vec<Field>,
) -> BoxStream<'_, ConnectorResult<OwnedRow>>;
// Provided method
async fn disconnect(self) -> ConnectorResult<()> { ... }
}
Required Methods§
async fn current_cdc_offset(&self) -> ConnectorResult<CdcOffset>
fn snapshot_read( &self, table_name: SchemaTableName, start_pk: Option<OwnedRow>, primary_keys: Vec<String>, limit: u32, ) -> BoxStream<'_, ConnectorResult<OwnedRow>>
fn get_parallel_cdc_splits( &self, options: CdcTableSnapshotSplitOption, ) -> BoxStream<'_, ConnectorResult<CdcTableSnapshotSplit>>
fn split_snapshot_read( &self, table_name: SchemaTableName, left: OwnedRow, right: OwnedRow, split_columns: Vec<Field>, ) -> BoxStream<'_, ConnectorResult<OwnedRow>>
Provided Methods§
async fn disconnect(self) -> ConnectorResult<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.