Summary
Write operations (INSERT, UPDATE, DELETE) to managed Delta tables via the `uc_catalog` extension fail with a DeltaKernel error when the table has `icebergWriterCompatV1` in its writer features. This affects any managed Delta table in Databricks Unity Catalog that has UniForm (Iceberg compatibility) enabled.
This is a blocking issue for a legitimate, expected write path: `uc_catalog` uses Delta readers/writers, so writing to managed Delta tables over UC REST should work out of the box. The `icebergWriterCompatV1` feature is preventing that.
Error
```
DeltaKernel error: Unsupported: Unknown feature 'icebergWriterCompatV1'
```
Steps to Reproduce
```sql
INSTALL uc_catalog FROM core; LOAD uc_catalog;
INSTALL delta; LOAD delta;
CREATE SECRET (TYPE UC, TOKEN '', ENDPOINT '<workspace_url>', AWS_REGION 'us-east-1');
ATTACH '' AS uc (TYPE UC_CATALOG);
-- Any write operation fails:
INSERT INTO uc..<managed_delta_table> SELECT * FROM uc..<managed_delta_table> LIMIT 1;
```
The table was created via Databricks as a managed Delta table with UniForm enabled:
```sql
CREATE TABLE
USING DELTA
TBLPROPERTIES ('delta.universalFormat.enabledFormats' = 'iceberg', 'delta.enableIcebergCompatV2' = 'true')
```
Context
Databricks Unity Catalog adds `icebergWriterCompatV1` to the Delta protocol's `writerFeatures` when UniForm is enabled on a managed Delta table. DeltaKernel correctly rejects writes when it encounters an unknown writer feature per the Delta spec.
Since `uc_catalog` operates over the UC REST API using Delta readers/writers, writing to managed Delta tables is the expected and intended use case — not a workaround. Support for `icebergWriterCompatV1` needs to be added to unblock this path.
The upstream Delta project has a related feature request: delta-io/delta#4289.
Note: Reads work fine — this only affects write operations.
Expected Behavior
DeltaKernel should support the `icebergWriterCompatV1` writer feature so that writes to managed Delta tables with UniForm enabled work correctly via `uc_catalog`.
Environment
- DuckDB: 1.5.0
- Extensions: uc_catalog, delta (latest from core)
- Catalog: Databricks Unity Catalog
Summary
Write operations (INSERT, UPDATE, DELETE) to managed Delta tables via the `uc_catalog` extension fail with a DeltaKernel error when the table has `icebergWriterCompatV1` in its writer features. This affects any managed Delta table in Databricks Unity Catalog that has UniForm (Iceberg compatibility) enabled.
This is a blocking issue for a legitimate, expected write path: `uc_catalog` uses Delta readers/writers, so writing to managed Delta tables over UC REST should work out of the box. The `icebergWriterCompatV1` feature is preventing that.
Error
```
DeltaKernel error: Unsupported: Unknown feature 'icebergWriterCompatV1'
```
Steps to Reproduce
```sql
INSTALL uc_catalog FROM core; LOAD uc_catalog;
INSTALL delta; LOAD delta;
CREATE SECRET (TYPE UC, TOKEN '', ENDPOINT '<workspace_url>', AWS_REGION 'us-east-1');
ATTACH '' AS uc (TYPE UC_CATALOG);
-- Any write operation fails:
INSERT INTO uc..<managed_delta_table> SELECT * FROM uc..<managed_delta_table> LIMIT 1;
```
The table was created via Databricks as a managed Delta table with UniForm enabled:
```sql
USING DELTACREATE TABLE
TBLPROPERTIES ('delta.universalFormat.enabledFormats' = 'iceberg', 'delta.enableIcebergCompatV2' = 'true')
```
Context
Databricks Unity Catalog adds `icebergWriterCompatV1` to the Delta protocol's `writerFeatures` when UniForm is enabled on a managed Delta table. DeltaKernel correctly rejects writes when it encounters an unknown writer feature per the Delta spec.
Since `uc_catalog` operates over the UC REST API using Delta readers/writers, writing to managed Delta tables is the expected and intended use case — not a workaround. Support for `icebergWriterCompatV1` needs to be added to unblock this path.
The upstream Delta project has a related feature request: delta-io/delta#4289.
Note: Reads work fine — this only affects write operations.
Expected Behavior
DeltaKernel should support the `icebergWriterCompatV1` writer feature so that writes to managed Delta tables with UniForm enabled work correctly via `uc_catalog`.
Environment