goutamadwant opened a new pull request, #12828:
URL: https://github.com/apache/seatunnel/pull/12828

   ### Purpose of this pull request
   
   Related to #10443.
   
   Add an explicit CockroachDB dialect to the existing JDBC connector. 
CockroachDB uses PostgreSQL JDBC URLs, so jobs select this dialect with 
`dialect = "CockroachDB"`; PostgreSQL URL-based selection remains unchanged.
   
   - Quote identifiers and use CockroachDB-compatible split and row-count 
queries.
   - Generate `INSERT ... ON CONFLICT (configured keys) DO UPDATE`, including 
support for a secondary unique key rather than only the physical primary key.
   - Reject unsupported schema changes and save modes before altering writer 
state or issuing DDL.
   
   This does not bundle a driver or add catalog, CDC, XA, or transaction-retry 
support. Target tables must already exist.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. JDBC jobs can explicitly select the CockroachDB dialect for bounded 
reads and writes. Existing PostgreSQL jobs are unchanged. EN/ZH documentation 
describes configuration and limits.
   
   ### How was this patch tested?
   
   - Java 11 and 17: 90 adjacent tests passed on each version.
   - Real CockroachDB 24.3: 5 integration tests passed, including 
physical-primary-key and secondary-unique-key upserts.
   - Source-to-sink E2E: 7 jobs passed across Flink 1.13/1.15/1.18/1.20, Zeta, 
and Spark 2.4/3.3.
   - Connector build, formatting, correctness review, and security review 
completed.
   
   Production TLS configuration was not tested locally.
   
   ### Check list
   
   - [x] Added focused tests and EN/ZH documentation.
   - [x] Validated adjacent JDBC behavior.
   - [x] Kept the change within the existing JDBC connector.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to