jiangxt2 opened a new pull request, #12103:
URL: https://github.com/apache/gravitino/pull/12103
### What changes were proposed in this pull request?
Register 5 frequently-used table properties in
`DorisTablePropertiesMetadata`:
- 3 writable: `compression`, `bloom_filter_columns`, `storage_policy`
- 2 reserved (read-only): `light_schema_change`,
`enable_unique_key_merge_on_write`
The existing read and write paths are already generic, so the
new properties pass through without additional logic changes. A
defense-in-depth filter in `appendNecessaryProperties` strips reserved
properties from the DDL before SQL generation.
### Why are the changes needed?
The jdbc-doris catalog currently only exposes `replication_num`. Users
cannot configure bloom filter columns, compression, or storage policy
through Gravitino, requiring manual SQL intervention after table
creation.
Fix: #12102
### Does this PR introduce _any_ user-facing change?
Yes — 3 new writable table properties and 2 new read-only properties
are exposed in `table.properties()`. Writable properties can be set
when creating or altering a table. Reserved properties are rejected
with a clear error if passed to `createTable`.
### How was this patch tested?
- `./gradlew :catalogs:catalog-jdbc-doris:test -PskipITs`
(unit tests: metadata validation + reserved property rejection)
- `./gradlew :catalogs:catalog-jdbc-doris:test -PskipDockerTests=false
-PdorisMultiVersionTest` (Docker IT: 1.2.x / 3.0.x / 4.0.x, all
passing)
- `./gradlew :catalogs:catalog-jdbc-doris:spotlessCheck`
- `./gradlew rat`
--
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]