Skip to content

Namespace Operations

The Lance Namespace Specification defines a list of operations that can be performed against any Lance namespace:

Operation ID Description
ListOperations List the operations that are supported by this Lance namespace
ListNamespaces List the names of child namespaces in the parent namespace, or root namespace if parent namespace is not specified
NamespaceExists Check if a namespace exists
DescribeNamespace Describe information of a namespace
CreateNamespace Create a new namespace under a parent namespace, or root namespace if parent namespace is not specified
AlterNamespace Alter information of a namespace
DropNamespace Drop a namespace from its a parent namespace, or root namespace if parent namespace is not specified
ListTables List the names of tables in a namespace
TableExists Check if a table exists
DescribeTable Describe information of a Lance table in the namespace
CreateTable Create a new Lance table under a namespace
RegisterTable Register an existing table at a given storage location to a namespace
AlterTable Alter information of a Lance table
DropTable Drop a table from its namespace
DeregisterTable Deregister a table from its namespace, table content is kept unchanged in storage
DescribeTransaction Describe information of a transaction
AlterTransaction Alter information of a transaction

Operation Versioning

There is no versioning concept within an operation. When backwards incompatible change is introduced, a new operation needs to be created, with a naming convention of <operationId>V<version>, for example ListNamespacesV2, DescribeTableV3, etc.

Operation Request and Response Schema

Each operation has a request and response. The request and response schema is defined using JSON schema in the components/schemas section of the OpenAPI specification.