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 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.