johntomcat7408-cmyk opened a new pull request, #4283: URL: https://github.com/apache/amoro/pull/4283
## Summary This is the first of two PRs for #4240. It adds namespace properties support to the Iceberg REST catalog. Stage-create support is not included and will be handled separately. `RestCatalogService` currently ignores `CreateNamespaceRequest.properties()`, does not return properties from `getNamespace()`, and does not support updating namespace properties. The `database_metadata` table also has no column for storing them. ## Changes - Add a `properties` column to `database_metadata`. - Add initialization and upgrade scripts for Derby, MySQL, and PostgreSQL. - Persist properties passed to `createNamespace()`. - Return properties from `createNamespace()` and `getNamespace()`. - Implement the namespace properties update endpoint. - Serialize concurrent property updates to avoid lost updates. - Use the namespace `location` property as the default table location. An explicit table location still takes precedence. ## Verification - `mvn -ntp validate -pl amoro-ams -am -DskipTests -Pskip-dashboard-build` - Namespace REST, mapper, and Derby upgrade tests passed. - `TestInternalIcebergCatalogService`: 11 tests passed on CentOS 7 with JDK 11. MySQL and PostgreSQL upgrade scripts were reviewed but were not run against external database instances. -- 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]
