From 36e331f7de9c61d28987951611d2a26abdcc2ad1 Mon Sep 17 00:00:00 2001 From: ullingerc Date: Wed, 29 Jul 2026 14:55:04 +0200 Subject: [PATCH 1/2] Document deletion of materialized views The delete-materialized-view HTTP command and libqlever Qlever::deleteMaterializedView() were merged upstream in qlever#3012; add a docs section for it analogous to the existing write/preload sections, and cross-reference it from the read-only limitation. Co-Authored-By: Claude Sonnet 5 --- docs/materialized-views.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/docs/materialized-views.md b/docs/materialized-views.md index b2331a6..4be66a8 100644 --- a/docs/materialized-views.md +++ b/docs/materialized-views.md @@ -169,6 +169,28 @@ You can optionally preload materialized views. This is required for implicitly r qlv.loadMaterializedView("nameOfTheView"); ``` +## Deleting a materialized view + +A materialized view that is no longer needed can be deleted. This unloads the +view (if it is currently loaded) and permanently removes all of its files from +disk. Deleting a view that does not exist results in an error. + +=== "curl" + ``` bash + curl "http://$HOST:$PORT/?cmd=delete-materialized-view&view-name=$VIEW_NAME&access-token=$ACCESS_TOKEN" + # Returns: {"materialized-view-deleted":"nameOfTheView"} + ``` +=== "libqlever" + ```cpp + qlever::EngineConfig config; + config.baseName_ = "my-dataset"; + qlever::Qlever qlv{config}; + qlv.deleteMaterializedView("nameOfTheView"); + ``` + +*NOTE: There is currently no `qlever` CLI subcommand for deleting a +materialized view; use `curl` or `libqlever` directly as shown above.* + ## Querying a materialized view Materialized views can be queried using the special predicate @@ -303,6 +325,6 @@ releases of QLever. 3. Materialized views are currently read-only; that is, update operation do not modify materialized views. If you need to update a materialized view, you must currently recreate it from scratch (you can simply overwrite an - existing view). + existing view, or [delete](#deleting-a-materialized-view) it first). 4. Reading from a materialized view always reads the first three columns even if they are not requested; the unused ones are discarded immediately. From 553fd15f543033d14459f3f830708376649fa983 Mon Sep 17 00:00:00 2001 From: ullingerc Date: Wed, 29 Jul 2026 15:00:56 +0200 Subject: [PATCH 2/2] Document the qlever CLI --delete option for materialized views Reflects ullingerc/qlever-control#matview-delete-cli, which adds \`qlever materialized-view --delete\` mirroring the existing --load option. Co-Authored-By: Claude Sonnet 5 --- docs/materialized-views.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/materialized-views.md b/docs/materialized-views.md index 4be66a8..4b390f2 100644 --- a/docs/materialized-views.md +++ b/docs/materialized-views.md @@ -175,6 +175,10 @@ A materialized view that is no longer needed can be deleted. This unloads the view (if it is currently loaded) and permanently removes all of its files from disk. Deleting a view that does not exist results in an error. +=== "qlever CLI" + ```bash + qlever materialized-view $VIEW_NAME --delete + ``` === "curl" ``` bash curl "http://$HOST:$PORT/?cmd=delete-materialized-view&view-name=$VIEW_NAME&access-token=$ACCESS_TOKEN" @@ -188,9 +192,6 @@ disk. Deleting a view that does not exist results in an error. qlv.deleteMaterializedView("nameOfTheView"); ``` -*NOTE: There is currently no `qlever` CLI subcommand for deleting a -materialized view; use `curl` or `libqlever` directly as shown above.* - ## Querying a materialized view Materialized views can be queried using the special predicate