pub struct OracleCdcSourceConfig {Show 14 fields
pub connection: OracleConnectionConfig,
pub tables: Vec<String>,
pub start_position: StartPosition,
pub poll_interval: Duration,
pub idle_timeout: Duration,
pub max_scn_window: u64,
pub max_staged_records: Option<usize>,
pub max_staged_records_total: Option<usize>,
pub batch_size: usize,
pub max_connections: u32,
pub statement_timeout_secs: u64,
pub flush_table: String,
pub on_unsupported: OnUnsupported,
pub state_key: Option<String>,
}Expand description
Configuration for the Oracle LogMiner CDC source.
Fields§
§connection: OracleConnectionConfigConnection settings. Connect to the PDB that owns the tables (Oracle 21c+ mines per PDB), or to a non-CDB / the CDB root.
tables: Vec<String>Tables to capture as OWNER.TABLE, in data-dictionary case (usually
upper case). Required and non-empty.
start_position: StartPositionStart position on a fresh run. Default current.
poll_interval: DurationSeconds to wait between polls that find nothing new. Default 1s.
idle_timeout: DurationEnd the fetch cycle after this long without a captured change, counted only once mining has reached the current SCN. Default 30s. A long-running runtime re-invokes the source to keep tailing.
max_scn_window: u64Largest SCN range mined per LogMiner session. Default 500000.
max_staged_records: Option<usize>Abort when one in-flight transaction buffers more than this many
changes (bounded memory). Defaults to 1,000,000; null = unbounded.
max_staged_records_total: Option<usize>Abort when all open transactions together buffer more than this many
changes, counting LOB pieces and folded updates. Unset or null =
unbounded.
batch_size: usize0 aggregates committed transactions into pages of up to 100,000
records, emitted at least every idle_timeout, each with its bookmark;
otherwise each committed transaction is its own page. Default
DEFAULT_BATCH_SIZE.
max_connections: u32Maximum pooled sessions. Default 2.
statement_timeout_secs: u64Per-round-trip call timeout in seconds (0 disables). Default 600.
flush_table: StringTable the source commits to before each mining window, forcing the log
writer to flush redo up to the window’s end SCN. Created in the
connecting user’s schema when missing. Default FAUCET_LOGMNR_FLUSH.
on_unsupported: OnUnsupportedHandling of changes LogMiner cannot render. Default fail.
state_key: Option<String>Explicit state-store key. Derived as oracle-cdc:<database>:<table>
(or a digest of several tables) when unset.
Implementations§
Source§impl OracleCdcSourceConfig
impl OracleCdcSourceConfig
Sourcepub fn new(connection: OracleConnectionConfig, tables: Vec<String>) -> Self
pub fn new(connection: OracleConnectionConfig, tables: Vec<String>) -> Self
A config capturing tables with defaults elsewhere.
Sourcepub fn validate(&self) -> Result<(), FaucetError>
pub fn validate(&self) -> Result<(), FaucetError>
Validate the fail-fast invariants.
Sourcepub fn table_pairs(&self) -> Vec<(String, String)>
pub fn table_pairs(&self) -> Vec<(String, String)>
(owner, table) pairs of the captured tables.
Sourcepub fn resolved_state_key(&self) -> String
pub fn resolved_state_key(&self) -> String
The state-store key for the SCN bookmark.
Sourcepub fn legacy_state_keys(&self) -> Vec<String>
pub fn legacy_state_keys(&self) -> Vec<String>
Keys the SCN bookmark was stored under by releases whose scope did not name the host and port; empty when the key is configured explicitly.
Trait Implementations§
Source§impl Clone for OracleCdcSourceConfig
impl Clone for OracleCdcSourceConfig
Source§impl Debug for OracleCdcSourceConfig
impl Debug for OracleCdcSourceConfig
Source§impl<'de> Deserialize<'de> for OracleCdcSourceConfig
impl<'de> Deserialize<'de> for OracleCdcSourceConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for OracleCdcSourceConfig
impl JsonSchema for OracleCdcSourceConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more