diff --git a/dozer-ingestion/oracle/src/connector/replicate/log_miner/parse/row.rs b/dozer-ingestion/oracle/src/connector/replicate/log_miner/parse/row.rs index e4b109112c..fcafe6a5ed 100644 --- a/dozer-ingestion/oracle/src/connector/replicate/log_miner/parse/row.rs +++ b/dozer-ingestion/oracle/src/connector/replicate/log_miner/parse/row.rs @@ -14,7 +14,7 @@ pub struct Parser { impl Parser { pub fn new(delimiter: &str, end: &str) -> Self { let regex = Regex::new(&format!( - "\"(\\w+)\" (= (.+)|IS NULL)({}\\n|{})", + "\"(\\w+)\" (= (.+)|IS NULL)({} *\\n|{})", delimiter, end )) .unwrap(); diff --git a/dozer-ingestion/oracle/src/connector/replicate/log_miner/parse/update.rs b/dozer-ingestion/oracle/src/connector/replicate/log_miner/parse/update.rs index aed890f5d5..6dfc799ec7 100644 --- a/dozer-ingestion/oracle/src/connector/replicate/log_miner/parse/update.rs +++ b/dozer-ingestion/oracle/src/connector/replicate/log_miner/parse/update.rs @@ -15,7 +15,8 @@ pub struct Parser { impl Parser { pub fn new() -> Self { let regex = - Regex::new(r#"^update "(\w+)"\."(\w+)"\n *(?s)(.+) *where\n(?s)(.+)$"#).unwrap(); + Regex::new(r#"^update "(\w+)"\."(\w+)"\n *set *\n *(?s)(.+) *where *\n(?s)(.+)$"#) + .unwrap(); Self { regex, new_row_parser: row::Parser::new(",", "\n"), @@ -62,9 +63,10 @@ fn test_parse() { let parser = Parser::new(); let sql_redo = r#"update "DOZER"."TRANSACTIONS" + set "TYPE" = 'REBATE' - where - "TRANSACTION_ID" = 12001 and + where + "TRANSACTION_ID" = 12001 and "CUSTOMER_ID" = 63147 and "TYPE" = 'Withdrawal' and "AMOUNT" = 9691.34 and diff --git a/dozer-ingestion/oracle/src/lib.rs b/dozer-ingestion/oracle/src/lib.rs index cbb3ee3cf4..0458fb4555 100644 --- a/dozer-ingestion/oracle/src/lib.rs +++ b/dozer-ingestion/oracle/src/lib.rs @@ -177,7 +177,12 @@ impl Connector for OracleConnector { .unwrap()?; ingestor .handle_message(IngestionMessage::TransactionInfo( - TransactionInfo::SnapshottingDone { id: None }, + TransactionInfo::SnapshottingDone { + id: Some(OpIdentifier { + txid: scn, + seq_in_tx: 0, + }), + }, )) .await?; scn