IcebergRestCatalog class
Client for the Apache Iceberg REST Catalog exposed by Supabase Storage under an analytics bucket. It manages namespaces and tables within a warehouse (an analytics bucket).
final catalog = storage.analyticsCatalog('my-analytics-bucket');
await catalog.createNamespace(['analytics']);
Constructors
-
IcebergRestCatalog({required String baseUrl, required Map<
String, String> headers, String? warehouse, List<AccessDelegation> ? accessDelegation, Client? httpClient}) - Creates a catalog client.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
createNamespace(
List< String> namespace, {Map<String, String> ? properties}) → Future<List< String> > -
Creates a namespace with optional
properties. -
createNamespaceIfNotExists(
List< String> namespace, {Map<String, String> ? properties}) → Future<List< String> ?> -
Creates a namespace, returning
nullif it already exists. -
createTable(
List< String> namespace, CreateTableRequest request) → Future<TableMetadata> - Creates a table in a namespace and returns its metadata.
-
createTableIfNotExists(
List< String> namespace, CreateTableRequest request) → Future<TableMetadata> - Creates a table if it does not already exist.
-
createTableResult(
List< String> namespace, CreateTableRequest request) → Future<LoadTableResult> - Creates a table and returns the full load result, including any server vended storage credentials.
-
dropNamespace(
List< String> namespace) → Future<void> - Drops a namespace. The namespace must contain no tables.
-
dropTable(
TableIdentifier id, {bool purge = false}) → Future< void> - Drops a table, optionally purging its underlying data files.
-
listNamespaces(
[ListNamespacesOptions? options]) → Future< ListNamespacesResult> - Lists namespaces in the catalog, optionally under a parent namespace.
-
listTables(
List< String> namespace, [ListTablesOptions? options]) → Future<ListTablesResult> - Lists tables in a namespace.
-
loadNamespaceMetadata(
List< String> namespace) → Future<Map< String, String> > - Loads the properties of a namespace.
-
loadTable(
TableIdentifier id) → Future< TableMetadata> - Loads a table's metadata.
-
loadTableResult(
TableIdentifier id, [LoadTableOptions? options]) → Future< LoadTableResult?> -
Loads a table and returns the full load result, or
nullwhen a conditional request with LoadTableOptions.ifNoneMatch is not modified. -
namespaceExists(
List< String> namespace) → Future<bool> - Whether a namespace exists in the catalog.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerTable(
List< String> namespace, RegisterTableRequest request) → Future<TableMetadata> - Registers an existing metadata file as a table.
-
renameTable(
TableIdentifier source, TableIdentifier destination) → Future< void> - Renames a table. Servers may or may not support cross namespace renames.
-
tableExists(
TableIdentifier id) → Future< bool> - Whether a table exists in the catalog.
-
toString(
) → String -
A string representation of this object.
inherited
-
updateNamespaceProperties(
List< String> namespace, {Map<String, String> ? updates, List<String> ? removals}) → Future<UpdateNamespacePropertiesResult> - Sets and removes properties on a namespace.
-
updateTable(
TableIdentifier id, {required List< TableUpdate> updates, List<TableRequirement> requirements = const []}) → Future<CommitTableResult> -
Commits
updatesto a table, optionally guarded byrequirements.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited