Skip to content

oracledb: handle LOB_TRIM events to establish LOB locator state#4285

Open
mmatczuk wants to merge 1 commit intomainfrom
mmt/oracledb-handle-lob_trim-events-to-establish-lob-locator-state
Open

oracledb: handle LOB_TRIM events to establish LOB locator state#4285
mmatczuk wants to merge 1 commit intomainfrom
mmt/oracledb-handle-lob_trim-events-to-establish-lob-locator-state

Conversation

@mmatczuk
Copy link
Copy Markdown
Contributor

Oracle emits LOB_TRIM (op 11) before LOB_WRITE for certain LOB column
types (e.g. out-of-line VARCHAR MAX). Without processing LOB_TRIM, the
LOB locator state is never established and subsequent LOB_WRITE events
are dropped, causing the column to be silently absent from streaming
records.

Add OpLobTrim to the query filter and handle it alongside
OpSelectLobLocator since both share the same SQL structure.

Fixes CON-408

Oracle emits LOB_TRIM (op 11) before LOB_WRITE for certain LOB column
types (e.g. out-of-line VARCHAR MAX). Without processing LOB_TRIM, the
LOB locator state is never established and subsequent LOB_WRITE events
are dropped, causing the column to be silently absent from streaming
records.

Add OpLobTrim to the query filter and handle it alongside
OpSelectLobLocator since both share the same SQL structure.

Fixes CON-408
@claude
Copy link
Copy Markdown

claude bot commented Apr 16, 2026

Commits
LGTM

Review
Small, focused change that adds LOB_TRIM (op 11) handling to the Oracle LogMiner CDC pipeline. The new operation is correctly added to the query filter, the typed constant and its mappings, and the processRedoEvent switch case where it shares the OpSelectLobLocator path — justified by the identical SQL structure. Log messages are properly generalized to use redoEvent.Operation instead of hardcoded strings.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant