[Subtask] Complete V3 type compatibility for the ClickHouse catalog
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 935
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 339
Description
### Describe the subtask
Complete and document the five-family compatibility contract for ClickHouse.
**Compatibility outcomes**
- **Nanosecond timestamps:** Round-trip `timestamp(9)` and `timestamp_tz(9)` exactly through `DateTime64(9)`; use explicit UTC for timezone-aware values, keep native non-UTC zones external, and reject precision 10 through 12.
- **Variant:** Reject because ClickHouse alternatives require a closed type set.
- **Unknown/Null:** Reject.
- **Geometry:** Reject because ClickHouse shape types do not preserve CRS metadata.
- **Geography:** Reject because ClickHouse types do not preserve CRS and edge-algorithm metadata.
**Acceptance**
- Reproduce all five families through the connector's public create/conversion path and its alter/load paths where supported.
- A supported mapping must round-trip without losing type identity or parameters.
- An unsupported mapping must return `IllegalArgumentException` before external metadata mutation; no fallback to a narrower or opaque type is allowed.
- Cover nested types where the connector supports complex columns.
- Add focused converter/operation tests and an integration or no-side-effect test appropriate to the connector.
- Update the connector documentation with a five-family compatibility matrix and rejection rationale.
- Keep implementation commits atomic by connector and type family.
**Connector-specific verification**
Reproduce exact timestamp round trips and rejected Docker creates, verifying no table side effects. Cover converter, custom operation, and full connector test paths.
**Documentation**
`docs/jdbc-clickhouse-catalog.md`
### Parent issue
#12056
Contributor guide
Assessment
This issue has not been assessed yet.