Cargo Features

[dependencies]
rivven-cdc = { version = "0.0.22", default-features = false, features = ["postgres", "postgres-tls", "mysql", "mysql-tls", "mariadb", "sqlserver", "sqlserver-tls", "full", "cloud-storage", "s3", "gcs", "azure"] }
default = mysql, postgres

These default features are set whenever rivven-cdc is added without default-features = false somewhere in the dependency tree.

postgres default full? postgres-tls?

PostgreSQL CDC via logical replication (pgoutput)

Enables fallible-iterator ^0.2, md-5 ^0.10, pbkdf2 ^0.12, postgres-protocol, and tokio-postgres

tokio-postgres:

PostgreSQL-specific dependencies

Affects progress_stores::PostgresProgressStore, rivven-cdc::postgres

postgres-tls full? = postgres

PostgreSQL with TLS support (rustls-based)

Enables rustls, rustls-pemfile, tokio-postgres-rustls, tokio-rustls, and webpki-roots ^0.26

tokio-postgres-rustls:

TLS support for PostgreSQL

Affects tls::build_rustls_config, tls::make_tls_connector, source::PostgresCdcConfig.tls_config

mysql default full? mariadb? mysql-tls?

MySQL CDC via binary log replication

Enables sha1 ^0.10

MySQL-specific dependencies

and flate2 and mysql_async ^0.34

flate2:

flate2 required by mysql_async for compression support

Affects rivven-cdc::mysql

mysql-tls full? = mysql

MySQL with TLS support (rustls-based)

Enables rustls, rustls-pemfile, tokio-rustls, and webpki-roots ^0.26

Affects source::MySqlCdcConfig.tls_config

mariadb full? = mysql

MariaDB CDC (uses MySQL binlog protocol with MariaDB extensions)

sqlserver full? sqlserver-tls?

SQL Server CDC via poll-based CDC tables (requires SQL Server 2016+)

Enables tiberius and tokio-util

tiberius:

SQL Server via TDS protocol

Affects rivven-cdc::sqlserver

sqlserver-tls full? = sqlserver

SQL Server with TLS support

Enables rustls, rustls-pemfile, tokio-rustls, and webpki-roots ^0.26

full = mariadb, mysql, mysql-tls, postgres, postgres-tls, sqlserver, sqlserver-tls

All CDC sources

cloud-storage azure? gcs? s3?

Object storage for ExternalizeBlob SMT

Enables object_store ^0.11

Object storage for ExternalizeBlob SMT (S3/GCS/Azure)

Affects smt::ExternalizeBlob

s3 = cloud-storage

Enables aws of object_store ^0.11

gcs = cloud-storage

Enables gcp of object_store ^0.11

azure = cloud-storage

Enables azure of object_store ^0.11