risingwave_connector::source::base

Trait SourceProperties

source
pub trait SourceProperties:
    TryFromBTreeMap
    + Clone
    + WithOptions
    + Debug {
    type Split: SplitMetaData + TryFrom<SplitImpl, Error = ConnectorError> + Into<SplitImpl>;
    type SplitEnumerator: SplitEnumerator<Properties = Self, Split = Self::Split>;
    type SplitReader: SplitReader<Split = Self::Split, Properties = Self>;

    const SOURCE_NAME: &'static str;

    // Provided methods
    fn init_from_pb_source(&mut self, _source: &PbSource) { ... }
    fn init_from_pb_cdc_table_desc(&mut self, _table_desc: &ExternalTableDesc) { ... }
}
Expand description

Represents WITH options for sources.

Each instance should add a #[derive(with_options::WithOptions)] marker.

Required Associated Constants§

source

const SOURCE_NAME: &'static str

Required Associated Types§

source

type Split: SplitMetaData + TryFrom<SplitImpl, Error = ConnectorError> + Into<SplitImpl>

source

type SplitEnumerator: SplitEnumerator<Properties = Self, Split = Self::Split>

source

type SplitReader: SplitReader<Split = Self::Split, Properties = Self>

Provided Methods§

source

fn init_from_pb_source(&mut self, _source: &PbSource)

Load additional info from PbSource. Currently only used by CDC.

source

fn init_from_pb_cdc_table_desc(&mut self, _table_desc: &ExternalTableDesc)

Load additional info from ExternalTableDesc. Currently only used by CDC.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl SourceProperties for DatagenProperties

source§

impl SourceProperties for AzblobProperties

source§

impl SourceProperties for GcsProperties

source§

impl SourceProperties for OpendalS3Properties

source§

impl SourceProperties for PosixFsProperties

source§

impl SourceProperties for S3Properties

source§

impl SourceProperties for PubsubProperties

source§

impl SourceProperties for IcebergProperties

source§

impl SourceProperties for KafkaProperties

source§

impl SourceProperties for KinesisProperties

source§

impl SourceProperties for MqttProperties

source§

impl SourceProperties for NatsProperties

source§

impl SourceProperties for NexmarkProperties

source§

impl SourceProperties for PulsarProperties

source§

impl SourceProperties for TestSourceProperties

source§

impl<T: CdcSourceTypeTrait> SourceProperties for CdcProperties<T>