Native `CREATE TABLE` / `DROP TABLE` for DataLakeCatalog; optionally prune on `DROP`
Adaptations to antalya-26.8:
- `UnityV2Catalog`, `DeltaLakeCatalogRegistration.cpp`, `test_database_unity_v2` and the
Delta Kernel `createInitial` path do not exist here, so the PR's changes to them are dropped.
- The "table engine without arguments" machinery (`getEngineArgsForNewTable`,
`buildTableEngineArgs`, `getDefaultTableLocation`, `getDefaultTableEngineName`) is not
in this branch, so `getNewTableLocation` has no namespace-location branch and the
related tests in `test_database_glue` are not added.
- `createNamespaceIfNotExists` keeps its two-argument form; an empty location is passed
where upstream passes none.
- `writesInitialMetadata` does not exist here; `isTransactional` is used in its place in
`IcebergMetadata::createInitial`.
- `icebergYear`/`icebergMonth`/`icebergDay`/`icebergHour` functions do not exist here, so
the tests expect `toYearNumSinceEpoch` and `toRelativeDayNum`.
- `SettingsChangesHistory.cpp` records the new settings `data_lake_delete_data_on_drop`
and `datalake_ignore_unsupported_table_properties`.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Supports
CREATE TABLE,CREATE TABLE … AS source, andDROP TABLEforDataLakeCatalog;DROP TABLEcan request catalog-side data purge via the newdata_lake_delete_data_on_dropsetting (ClickHouse#98670 by @zvonand).Cherry-picked from ClickHouse#98670.
CI/CD Options
Exclude tests:
Regression jobs to run: