pub struct DynamicQuery { /* private fields */ }Expand description
DynamicQuery
Entity-name-driven structural read request. The session resolves fields, ordering, indexes, and projection against the accepted schema; no generated entity descriptor participates. Preparation admits at most 128 input levels, 4,096 input nodes and 2 MiB of variable payload across the request, before cloning or lowering it. These limits also apply to trusted reads. Construction and explicit cloning of caller-owned input are not admission operations.
Implementations§
Source§impl DynamicQuery
impl DynamicQuery
Sourcepub fn new(entity: impl Into<String>) -> Self
pub fn new(entity: impl Into<String>) -> Self
Start one dynamic read for an accepted entity name.
Sourcepub fn filter(self, filter: impl Into<FilterExpr>) -> Self
pub fn filter(self, filter: impl Into<FilterExpr>) -> Self
Add one filter expression, joined with prior filters by AND.
Sourcepub fn select<I, S>(self, fields: I) -> Self
pub fn select<I, S>(self, fields: I) -> Self
Select explicit fields in scalar output order.
Grouped execution rejects an explicit scalar selection because group keys and aggregates define its output contract.
Sourcepub const fn limit(self, limit: u32) -> Self
pub const fn limit(self, limit: u32) -> Self
Bound scalar traversal totals or the number of groups in one grouped page.
Scalar resumed pages subtract previously emitted rows from this limit; reaching it ends traversal even when more matching rows exist. The public read envelope independently bounds each scalar page. Grouped continuation reapplies this limit on each page, so following its cursor can return more groups in total than the limit.
Sourcepub fn group_by(self, field: impl Into<String>) -> Self
pub fn group_by(self, field: impl Into<String>) -> Self
Append one accepted field to the grouped key in declaration order.
Sourcepub fn aggregate(self, aggregate: AggregateExpr) -> Self
pub fn aggregate(self, aggregate: AggregateExpr) -> Self
Append one grouped aggregate in declaration order.
Sourcepub const fn grouped_limits(self, max_groups: u32, max_group_bytes: u32) -> Self
pub const fn grouped_limits(self, max_groups: u32, max_group_bytes: u32) -> Self
Set explicit hard limits for grouped execution.
Ordinary public reads additionally enforce their built-in admission ceilings. Zero values are rejected before execution.