Skip to main content

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}