risingwave_connector::sink

Trait Sink

source
pub trait Sink: TryFrom<SinkParam, Error = SinkError> {
    type LogSinker: LogSinker;
    type Coordinator: SinkCommitCoordinator;

    const SINK_NAME: &'static str;

    // Required methods
    async fn validate(&self) -> Result<()>;
    async fn new_log_sinker(
        &self,
        writer_param: SinkWriterParam,
    ) -> Result<Self::LogSinker>;

    // Provided methods
    fn set_default_commit_checkpoint_interval(
        desc: &mut SinkDesc,
        user_specified: &SinkDecouple,
    ) -> Result<()> { ... }
    fn is_sink_decouple(user_specified: &SinkDecouple) -> Result<bool> { ... }
    async fn new_coordinator(&self) -> Result<Self::Coordinator> { ... }
}

Required Associated Constants§

source

const SINK_NAME: &'static str

Required Associated Types§

Required Methods§

source

async fn validate(&self) -> Result<()>

source

async fn new_log_sinker( &self, writer_param: SinkWriterParam, ) -> Result<Self::LogSinker>

Provided Methods§

source

fn set_default_commit_checkpoint_interval( desc: &mut SinkDesc, user_specified: &SinkDecouple, ) -> Result<()>

source

fn is_sink_decouple(user_specified: &SinkDecouple) -> Result<bool>

user_specified is the value of sink_decouple config.

source

async fn new_coordinator(&self) -> Result<Self::Coordinator>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Sink for BigQuerySink

source§

impl Sink for ClickHouseSink

source§

impl Sink for DeltaLakeSink

source§

impl Sink for DorisSink

source§

impl Sink for DynamoDbSink

source§

impl Sink for ElasticSearchSink

source§

impl Sink for OpenSearchSink

source§

impl Sink for GooglePubSubSink

source§

impl Sink for IcebergSink

source§

impl Sink for KafkaSink

source§

impl Sink for KinesisSink

source§

impl Sink for MongodbSink

source§

impl Sink for MqttSink

source§

impl Sink for NatsSink

source§

impl Sink for PulsarSink

source§

impl Sink for RedisSink

source§

impl Sink for SqlServerSink

source§

impl Sink for StarrocksSink

source§

impl Sink for TestSink

source§

const SINK_NAME: &'static str = "test"

source§

type Coordinator = Box<dyn SinkCommitCoordinator + Send>

source§

type LogSinker = LogSinkerOf<Box<dyn SinkWriter<CommitMetadata = ()> + Send>>

source§

impl<R: RemoteSinkTrait> Sink for CoordinatedRemoteSink<R>

source§

impl<R: RemoteSinkTrait> Sink for RemoteSink<R>

source§

impl<S: OpendalSinkBackend> Sink for FileSink<S>

source§

impl<T: TrivialSinkName> Sink for TrivialSink<T>