skip the selection-edge query where nothing reads it

The temporal timeline summarises every snapshot in a series. Each summary now
also counts how many features the selection edge cuts, but a timeline point
renders values only, so that was one database round trip per snapshot for a
disclosure nobody sees. Make it opt-out and have the timeline opt out.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Jens
2026-08-22 14:56:37 +02:00
co-authored by Claude Opus 5
parent 0d8f146fc4
commit ea0e401690
3 changed files with 13 additions and 6 deletions
@@ -811,6 +811,7 @@ class VectorFeatureService:
selection_geometry: Any | None = None,
full_dataset_area: bool = False,
preclipped_partition_filter: tuple[str, str] | None = None,
disclose_selection_edge: bool = True,
) -> dict[str, Any]:
normalized_bbox = VectorFeatureService._normalize_selection_bbox(bbox)
selection_shape = selection_geometry
@@ -842,7 +843,7 @@ class VectorFeatureService:
# How many of the counted features the selection edge cuts. Skipped for
# a pre-clipped whole-area selection, which has no edge to cut against.
fully_covered_feature_count: int | None = None
if not full_dataset_area and feature_count:
if disclose_selection_edge and not full_dataset_area and feature_count:
try:
fully_covered_feature_count = int(
db.query(func.count(VectorFeature.id))