Document live views#479
Conversation
Adds documentation for the new live view feature: incrementally maintained window-function results over a single WAL-backed base table, queried like a regular table. New pages: - concepts/live-views.md: what live views are, how they work (refresh vs flush cadences, in-memory tier, freshness), supported window functions, anchored windows, backfill, base-table lifecycle, monitoring, limitations, tradeoffs, and Enterprise features. - query/sql/create-live-view.md: CREATE LIVE VIEW reference (FLUSH EVERY, IN MEMORY, PARTITION BY, BACKFILL, anchored windows, constraints, errors). - query/sql/drop-live-view.md: DROP LIVE VIEW reference. - configuration/live-views.md: cairo.live.view.* server settings. Updated pages: - query/functions/meta.md: live_views() catalogue function; table_type 'L'. - query/sql/show.md: SHOW CREATE LIVE VIEW. - security/rbac.md: CREATE LIVE VIEW / DROP LIVE VIEW permissions. - concepts/views.md, configuration/overview.md, operations/backup.md, sidebars.js: cross-links, index rows, and navigation. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
🚀 Build success! Latest successful preview: https://preview-479--questdb-documentation.netlify.app/docs/ Commit SHA: fbf5029
|
Address internal-contradiction and precision issues in the live-views pages, verified against OSS PR questdb/questdb#6939: - Relabel the comparison-table "Freshness control" row to "Freshness / durability"; FLUSH EVERY is a durability knob, not a freshness one. - Make the flagship read example an unfiltered SELECT *, and note that timestamp-filtered reads trail by up to one FLUSH EVERY interval. - Remove "truncating" from the base-table invalidation bullet: TRUNCATE is freeze-and-continue (walked past like DROP PARTITION / TTL), not an invalidation. - Qualify the query constraint as a top-level ORDER BY; the window ORDER BY inside OVER(...) is required. - Narrow "all view-level clauses precede AS" to the four pre-AS clauses; note OWNED BY follows the query. - Add a note explaining the non-determinism error names "materialized view" because it reuses the shared guard (accurate server output). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
QuestDB's window-function docs name this capability EMA / VWEMA (modes of avg()); "EWMA" appeared only here. Align the terminology for consistency and searchability. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
the "Live Views" page x-links Mat Views, but the Mat View page should cross link back to Live Views. As a user I find these 2 concepts very similar and they should cross-link each other. |
|
the doc says:
but there is no guidance about the semantics of |
|
the doc says:
but it's missing a guidance: what should I do with an invalid live-views? how can I un-invalidate it? |
|
the doc says:
Can I create a mat-view from a live view? and can I chain another live-view on such mat view? How about regular (non-materialized) views on top of live views? Can I create a live-view on top of such view? |
|
@jerrinot I've addressed the review feedback in fbf5029:
The production Docusaurus build passes. |
Summary
Documents the new live view feature from questdb/questdb#6939 (OSS) and questdb/questdb-enterprise#1087 (Enterprise). A live view incrementally maintains a window-function query over a single WAL-backed base table and can be queried like a regular table.
New pages:
concepts/live-views.md: what live views are and why, how they work (refresh vs flush cadences, in-memory tier, freshness model), supported window functions, anchored windows, backfill, base-table lifecycle, monitoring, limitations, tradeoffs, and Enterprise features (permissions, replication, backup/restore).query/sql/create-live-view.md:CREATE LIVE VIEWreference coveringFLUSH EVERY,IN MEMORY,PARTITION BY,BACKFILL, anchored windows, query constraints, and error messages.query/sql/drop-live-view.md:DROP LIVE VIEWreference.configuration/live-views.md: thecairo.live.view.*server settings.Updated pages:
query/functions/meta.md: adds thelive_views()catalogue function and theL(live view)table_typediscriminator.query/sql/show.md: addsSHOW CREATE LIVE VIEW.security/rbac.md: adds theCREATE LIVE VIEWandDROP LIVE VIEWpermissions.concepts/views.md,configuration/overview.md,operations/backup.md,sidebars.js: cross-links, index rows, and navigation.Facts (config property names/defaults,
live_views()columns,SHOW CREATEoutput, validation errors) were verified against the source on thepuzpuzpuz_live_viewbranch of both repositories.Follow-up (not in this PR)
The questdb/sql-parser grammar needs new keywords for web-console highlighting/autocomplete:
live,flush,backfill,anchor, anddaily(memoryis already covered by open PR #27;everyandviewalready exist).