Repository navigation
v0.41.0
Client: load a whole catalog with catalog_contents
VGI protocol stays at 2.1.0 — compatible with the current vgi DuckDB extension and 0.40.x workers.
Client.load_catalog(attach=, previous=, transaction_opaque_data=)returns aCatalogSnapshot(schemas, version, etag,source,not_modified,fallback_reason). It makes onecatalog_contentscall when the attach advertisessupports_catalog_contents, and usescatalog_schemasplus the per-schema RPCs otherwise, skipping kinds whoseestimated_object_countis 0.catalog_contentsis never sent to a worker that doesn't advertise it.- Fallback: any failure or malformed answer falls back to the per-schema RPCs and records
fallback_reason. An older snapshot is retried once. - Revalidation: pass
previous=to send its etag asif_none_match. Anot_modifiedanswer keeps the held contents. - Transactions: a load inside a transaction always uses the per-schema RPCs.
- Fix: a malformed
catalog_contentsitem now raisesCatalogClientErrorinstead of escaping as a bareArrowInvalid/KeyError. - New
vgi-client catalog contentsCLI command; the attach output showssupports_catalog_contents. - The six
contents_*fixture catalogs are now the cross-SDKcatalog_contentscontract: the vgi integration tests run them against every SDK.