Skip to content

Commit e1d72a2

Browse files
committed
fix: document specific DuckDB Iceberg REST write bugs for Unity Catalog
Replaces vague "HTTP 500 errors" with the two concrete open bugs blocking all Iceberg REST writes in DuckDB 1.5.3: credential vending scope mismatch (#792) and Avro map encoding rejected by UC's manifest parser (#799). Makes clear the partial rating is carried by the uc_catalog Delta pathway only.
1 parent c40ae2f commit e1d72a2

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

src/data/compatibility.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,14 @@ export const engineCatalogRules: Record<EngineId, EngineRule> = {
100100
'Same write constraints as REST: UPDATE and DELETE require non-partitioned, non-sorted tables',
101101
]},
102102
unity: { support: 'partial', limitations: [
103-
'Two pathways: uc_catalog extension (Delta tables, GA in v1.5) or Iceberg REST catalog (Iceberg-native tables)',
104-
'uc_catalog / Delta pathway: INSERT supported via Catalog Commits; UPDATE and DELETE not yet supported',
105-
'Iceberg REST pathway: known HTTP 500 errors on commit operations',
103+
'Iceberg REST write pathway is non-functional in DuckDB 1.5.3 — two open bugs block all write operations; use the uc_catalog Delta pathway instead',
104+
'Iceberg REST / CTAS: fails with S3 403 — vended credentials are scoped to the metadata path only; DuckDB writes data files to a path outside the credentialed scope (duckdb-iceberg #792)',
105+
'Iceberg REST / INSERT+UPDATE: fails at commit — DuckDB encodes manifest map types as Avro array-of-records instead of Iceberg JSON schema format; Unity Catalog rejects upper_bounds/lower_bounds fields (IDs 126–127); fix pending in PR #801 (duckdb-iceberg #799)',
106+
'uc_catalog / Delta pathway (GA in v1.5): INSERT supported via Catalog Commits; UPDATE and DELETE not yet supported',
106107
], sourceUrls: [
107108
'https://duckdb.org/2026/05/07/delta-uc-updates',
108-
'https://github.com/duckdb/unity_catalog/issues/73',
109+
'https://github.com/duckdb/duckdb-iceberg/issues/792',
110+
'https://github.com/duckdb/duckdb-iceberg/issues/799',
109111
]},
110112
ducklake: { support: 'partial', limitations: [
111113
'Requires the ducklake extension: INSTALL ducklake; LOAD ducklake;',
@@ -228,12 +230,14 @@ export const pairOverrides: Partial<Record<PairKey, EngineRule>> = {
228230
'Same write constraints as REST: UPDATE and DELETE require non-partitioned, non-sorted tables',
229231
]},
230232
unity: { support: 'partial', limitations: [
231-
'Two pathways: uc_catalog extension (Delta tables, GA in v1.5) or Iceberg REST catalog (Iceberg-native tables)',
232-
'uc_catalog / Delta pathway: INSERT supported via Catalog Commits; UPDATE and DELETE not yet supported',
233-
'Iceberg REST pathway: known HTTP 500 errors on commit operations — not recommended for production',
233+
'Iceberg REST write pathway is non-functional in DuckDB 1.5.3 — two open bugs block all write operations; use the uc_catalog Delta pathway instead',
234+
'Iceberg REST / CTAS: fails with S3 403 — vended credentials are scoped to the metadata path only; DuckDB writes data files to a path outside the credentialed scope (duckdb-iceberg #792)',
235+
'Iceberg REST / INSERT+UPDATE: fails at commit — DuckDB encodes manifest map types as Avro array-of-records instead of Iceberg JSON schema format; Unity Catalog rejects upper_bounds/lower_bounds fields (IDs 126–127); fix pending in PR #801 (duckdb-iceberg #799)',
236+
'uc_catalog / Delta pathway (GA in v1.5): INSERT supported via Catalog Commits; UPDATE and DELETE not yet supported',
234237
], sourceUrls: [
235238
'https://duckdb.org/2026/05/07/delta-uc-updates',
236-
'https://github.com/duckdb/unity_catalog/issues/73',
239+
'https://github.com/duckdb/duckdb-iceberg/issues/792',
240+
'https://github.com/duckdb/duckdb-iceberg/issues/799',
237241
]},
238242
ducklake: { support: 'partial', limitations: [
239243
'Requires the ducklake extension: INSTALL ducklake; LOAD ducklake;',

0 commit comments

Comments
 (0)