mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-13 15:22:30 +00:00
A view could only map source rows one to one, or one to many through a FROM-position item, so nothing could see all the rows sharing a key. A view query now takes `GROUP BY expr, ...` with aggregate projections, planned and executed by DataFusion over the lance scan. A group spans fragments, so a grouped view is recomputed in full whenever its source changes; each row's provenance is its group's smallest source row id. Such a query is stored as definition format 2, so a reader that predates grouping reports the view as unrefreshable instead of failing to parse it. Stacked on #4190.
23 lines
542 B
Markdown
23 lines
542 B
Markdown
[**@lancedb/lancedb**](../README.md) • **Docs**
|
|
|
|
***
|
|
|
|
[@lancedb/lancedb](../globals.md) / MaterializedViewDefinition
|
|
|
|
# Interface: MaterializedViewDefinition
|
|
|
|
The query that defines a materialized view, as stored:
|
|
`SELECT columns FROM [ns.]table [, function(args) AS alias | , UNNEST(column) AS alias]
|
|
[WHERE predicate] [GROUP BY expr, ...] [LIMIT n]`. A Function in `FROM`
|
|
position yields one row per element it returns.
|
|
|
|
## Properties
|
|
|
|
### query
|
|
|
|
```ts
|
|
query: string;
|
|
```
|
|
|
|
The defining query, in the canonical spelling the server stores.
|