feat(python): materialized view bindings

Exposes materialized views to Python in both the async and sync clients:
create_materialized_view / open_materialized_view / list_materialized_views
on the connections, and MaterializedView / AsyncMaterializedView handles
carrying the parsed definition and refresh(full=, source_version=), which
returns the typed refresh result. select accepts column names, (alias,
expression) pairs, or a dict of the same; the definition reads back off the
stored schema, so a reopened handle needs no side channel. Remote
connections raise NotImplementedError up front rather than failing deep in
a request, matching the computed-column convention.
This commit is contained in:
Wyatt Alt
2026-08-17 10:42:35 -07:00
parent 60f5f6fef2
commit 9dd968466f
11 changed files with 819 additions and 2 deletions
+10
View File
@@ -52,6 +52,12 @@ listing a storage directory.
::: lancedb.table.Branches
## Materialized Views (Synchronous)
::: lancedb.materialized_view.MaterializedView
::: lancedb.materialized_view.MaterializedViewDefinition
## Expressions
Type-safe expression builder for filters and projections. Use these instead
@@ -244,6 +250,10 @@ Table hold your actual data as a collection of records / rows.
::: lancedb.table.AsyncBranches
## Materialized Views (Asynchronous)
::: lancedb.materialized_view.AsyncMaterializedView
## Indices (Asynchronous)
Indices can be created on a table to speed up queries. This section