icydb_core/db/query/read_intent.rs
1//! Module: query::read_intent
2//! Responsibility: diagnostic classification for maintained query terminals.
3//! Does not own: planner proof, executor routing, or admission policy.
4//! Boundary: describes execution intent without granting authority.
5
6use candid::CandidType;
7use serde::Deserialize;
8
9/// Semantic read intent selected by a caller-facing terminal.
10///
11/// This is diagnostic metadata only. It does not grant access, choose planner
12/// routes, or configure admission policy.
13#[derive(CandidType, Clone, Copy, Debug, Default, Deserialize, Eq, PartialEq)]
14pub enum ReadIntentKind {
15 /// No semantic read intent was attached to this diagnostic payload.
16 #[default]
17 Unspecified,
18
19 /// Low-level execution over the effective bounded row window.
20 BoundedRowWindow,
21
22 /// Boolean existence check.
23 ExistenceCheck,
24
25 /// Request-owned public cursor page.
26 PublicPage,
27
28 /// Complete small-set read that fails instead of silently truncating.
29 CompleteSmallSet,
30
31 /// Exact aggregate terminal such as count, sum, min, max, or average.
32 ExactAggregate,
33
34 /// Trusted/admin cursor batch with engine-owned batch size.
35 TrustedAdminBatch,
36}