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>) -> DynamicQuery
pub fn new(entity: impl Into<String>) -> DynamicQuery
Start one dynamic read for an accepted entity name.
Sourcepub fn filter(self, filter: impl Into<FilterExpr>) -> DynamicQuery
pub fn filter(self, filter: impl Into<FilterExpr>) -> DynamicQuery
Add one filter expression, joined with prior filters by AND.
Sourcepub fn order_by(self, order: OrderTerm) -> DynamicQuery
pub fn order_by(self, order: OrderTerm) -> DynamicQuery
Append one deterministic ordering term.
Sourcepub fn select<I, S>(self, fields: I) -> DynamicQuery
pub fn select<I, S>(self, fields: I) -> DynamicQuery
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) -> DynamicQuery
pub const fn limit(self, limit: u32) -> DynamicQuery
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>) -> DynamicQuery
pub fn group_by(self, field: impl Into<String>) -> DynamicQuery
Append one accepted field to the grouped key in declaration order.
Sourcepub fn aggregate(self, aggregate: AggregateExpr) -> DynamicQuery
pub fn aggregate(self, aggregate: AggregateExpr) -> DynamicQuery
Append one grouped aggregate in declaration order.
Sourcepub const fn grouped_limits(
self,
max_groups: u32,
max_group_bytes: u32,
) -> DynamicQuery
pub const fn grouped_limits( self, max_groups: u32, max_group_bytes: u32, ) -> DynamicQuery
Set explicit hard limits for grouped execution.
Ordinary public reads additionally enforce their built-in admission ceilings. Zero values are rejected before execution.
Sourcepub fn cursor(self, cursor: impl Into<String>) -> DynamicQuery
pub fn cursor(self, cursor: impl Into<String>) -> DynamicQuery
Continue a grouped page from one opaque cursor returned by IcyDB.
Trait Implementations§
Source§impl Clone for DynamicQuery
impl Clone for DynamicQuery
Source§fn clone(&self) -> DynamicQuery
fn clone(&self) -> DynamicQuery
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more