Saved Query Service

Manages user-defined reusable SQL queries with dataset references.

Service

Responsibilities

  • Save new queries with name, SQL, and dataset reference
  • Rename, update SQL, or change dataset reference
  • Delete saved queries

Workspace Context

SavedQuery operations occur within a Workspace context. All saved queries belong to exactly one Workspace, referenced via workspaceId.

Aggregate: SavedQuery

One aggregate instance per saved query (keyed by workspace_id/user_id/query_name).

State Machine

NoQuery → QueryExists(id, name, sql, datasetRef)
↑___________________________| (delete)

Key Value Objects

  • SavedQueryId: Unique query identifier
  • WorkspaceId: Reference to containing Workspace
  • DatasetRef: URI reference to dataset (hf://, s3://, etc.)

Invariants

  • Query names must be non-empty
  • SQL must be non-empty
  • Names are unique per user (enforced by aggregate ID)