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

   ### Purpose of this pull request
   
   This migrates the `file_fields_delimiter` single-character constraint of the 
ClickhouseFile sink to the declarative option rule framework (#11007).
   
   ### What changed
   
   - The constraint used to live in `ClickhouseFileSinkFactory.createSink` as 
an imperative `if (...) throw ...` check, so it only ran after a sink writer 
had already been created. It is now declared in `optionRule()` via 
`Conditions.extension(...)`, so the same rule is evaluated during option-rule 
validation (`--check` / `--dry-run`) instead of at runtime.
   - Removed the now-unused imperative check and the `SeaTunnelAPIErrorCode` / 
`ClickhouseConnectorException` imports it pulled in.
   
   ### Tests
   
   Extended `ClickhouseFactoryTest` to validate the rule end-to-end through 
`ConfigValidator`:
   
   - single-character value passes
   - absent value skips validation (default `\t` is used)
   - empty value is rejected
   - multi-character value is rejected
   
   ### Docs
   
   - Noted in `docs/en` and `docs/zh` that the constraint is now checked during 
option-rule validation.
   - Added a `docs/en` + `docs/zh` `incompatible-changes` entry for the 
check-time behavior change.
   
   ### Related
   
   Part of the declarative OptionRule migration tracking in #11007.


-- 
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