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]
