Skip to main content
Catalog methods let you introspect the Iceberg catalogs registered in oleander. Unless specified otherwise, catalog defaults to the built-in oleander catalog and namespace defaults to default.

list_catalogs(*, include_tables=False)

List the Iceberg catalogs registered in oleander. Pass include_tables=True to also walk every catalog and return the visible catalog/namespace/table triples in catalogs — this is slower; otherwise catalogs is empty.

Parameters

bool
default:"False"
Also walk every catalog and populate catalogs with visible tables. Keyword-only.

Return type: ListCatalogsResult


list_catalog_namespaces(catalog="oleander")

List Iceberg namespaces in a catalog.

Return type: ListCatalogNamespacesResult


list_catalog_tables(catalog="oleander", namespace=None)

List Iceberg tables in a catalog. When namespace is omitted, tables are listed across all namespaces in the catalog; namespaces that fail to list are skipped.

Parameters

str
default:"oleander"
Catalog to list tables from.
Optional[str]
Restrict listing to one namespace. Omit to list across all namespaces.

Return type: ListCatalogTablesResult


get_catalog_table_metadata(table, *, catalog="oleander", namespace="default")

Read the Iceberg REST catalog metadata for a single table. The result’s table field is the raw Iceberg metadata: location, schemas, partition-specs, snapshots, properties, and so on.

Parameters

str
required
Table name.
str
default:"oleander"
Catalog name. Keyword-only.
str
default:"default"
Namespace name. Keyword-only.

Return type: CatalogTableMetadata


get_catalog_table_schema(table, *, catalog="oleander", namespace="default")

Get the current schema of a table as a flat field list. Resolves current-schema-id against the schemas array of the Iceberg metadata, falling back to the newest schema. Use get_catalog_table_metadata() for the full metadata including schema history. Accepts the same parameters as get_catalog_table_metadata().

Return type: CatalogTableSchema

type is a string for primitive types (for example, "long" or "string") and a dict for nested types such as struct, list, and map.

get_catalog_table_size(table, *, catalog="oleander", namespace="default", snapshot_id=None, partition_filters=None)

Compute the size of a table or a partition subset. size_bytes and record_count are returned as strings since they can exceed 2^53.

Parameters

Accepts the same table/catalog/namespace parameters as get_catalog_table_metadata(), plus:
Optional[str]
Compute the size at a specific snapshot instead of the current one. Keyword-only.
Optional[list[PartitionFilter | dict]]
Restrict the size computation to matching partitions. Each filter has key and value; plain dicts are accepted. Keyword-only.

Return type: CatalogTableSize