Parent
Tracked by #66340. The baseline Lance integration in #65730 is read-only: it supports namespace/table discovery and table description, but it does not expose Lance metadata mutation operations.
Current status
Doris currently maps the Lance Namespace SDK's read APIs as follows:
SHOW DATABASES uses ListNamespaces.
SHOW TABLES uses ListTables.
DESC and table loading use DescribeTable.
LanceExternalCatalog does not currently provide ExternalMetadataOps, so namespace/table creation, schema changes, rename, and drop operations are not supported.
Scope for Doris 4.2
Row-level DML (INSERT, UPDATE, and DELETE) is not part of this issue.
Completion criteria
Parent
Tracked by #66340. The baseline Lance integration in #65730 is read-only: it supports namespace/table discovery and table description, but it does not expose Lance metadata mutation operations.
Current status
Doris currently maps the Lance Namespace SDK's read APIs as follows:
SHOW DATABASESusesListNamespaces.SHOW TABLESusesListTables.DESCand table loading useDescribeTable.LanceExternalCatalogdoes not currently provideExternalMetadataOps, so namespace/table creation, schema changes, rename, and drop operations are not supported.Scope for Doris 4.2
CREATE DATABASEby creating a Lance Namespace.DROP DATABASEby dropping a Lance Namespace with well-defined non-empty andIF EXISTSbehavior.CREATE TABLEby creating a Lance dataset/table and registering the catalog metadata.SHOW CREATE TABLEwith an accurate Doris representation of the Lance schema and relevant table properties.ALTER TABLEschema evolution, including add, alter/backfill, rename, and drop column operations supported by Lance.RENAME TABLE.DROP TABLE, with explicit semantics for deleting the underlying dataset versus deregistering only the catalog entry.Row-level DML (
INSERT,UPDATE, andDELETE) is not part of this issue.Completion criteria
IF EXISTS/IF NOT EXISTS, conflicts, unsupported operations, and cache refresh.