Skip to content

feat: optimize Oracle mode write with multi-row MERGE - #139

Open
yuanoOo wants to merge 2 commits into
oceanbase:mainfrom
yuanoOo:feature/oracle-batch-merge
Open

feat: optimize Oracle mode write with multi-row MERGE#139
yuanoOo wants to merge 2 commits into
oceanbase:mainfrom
yuanoOo:feature/oracle-batch-merge

Conversation

@yuanoOo

@yuanoOo yuanoOo commented May 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add Oracle multi-row upsert SQL generation by extending the dialect with a row-count aware getUpsertStatement implementation.
  • Route Oracle keyed upsert flushing to a multi-row MERGE ... USING (SELECT ... UNION ALL ...) path, while preserving existing insert/delete behavior.
  • Refine default JDBC properties by enabling MySQL batch rewrite options only in MySQL mode and add tests for Oracle dialect SQL generation and end-to-end multi-row merge behavior.

Test plan

  • mvn -pl flink-connector-oceanbase -Dtest=OceanBaseOracleDialectTest test
  • OceanBaseOracleConnectorITCase#testSink (run with Oracle env)
  • OceanBaseOracleConnectorITCase#testMultipleTableSink (run with Oracle env)
  • OceanBaseOracleConnectorITCase#testMultiRowMergeUpsert (run with Oracle env)

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