pub struct Response<E: EntityKind>(pub Vec<Row<E>>, _);Expand description
Response
Materialized query result: ordered (Id, Entity) pairs.
IDs are returned for correlation, reporting, and lookup; they are public values and do not imply
authorization, ownership, or row existence outside this response payload.
When scalar projection evaluation runs, projected_rows() exposes the
evaluated projection payload in matching row order.
Tuple Fields§
§0: Vec<Row<E>>Implementations§
Source§impl<E: EntityKind> Response<E>
impl<E: EntityKind> Response<E>
Sourcepub const fn from_rows(rows: Vec<Row<E>>) -> Self
pub const fn from_rows(rows: Vec<Row<E>>) -> Self
Construct one entity-row response without projection payload.
Sourcepub const fn from_rows_with_projection(
rows: Vec<Row<E>>,
projected_rows: Option<Vec<ProjectedRow<E>>>,
) -> Self
pub const fn from_rows_with_projection( rows: Vec<Row<E>>, projected_rows: Option<Vec<ProjectedRow<E>>>, ) -> Self
Construct one entity-row response with optional scalar projection output.
Sourcepub fn projected_rows(&self) -> Option<&[ProjectedRow<E>]>
pub fn projected_rows(&self) -> Option<&[ProjectedRow<E>]>
Borrow optional projected scalar rows when projection materialization ran.
Sourcepub fn into_projected_rows(self) -> Option<Vec<ProjectedRow<E>>>
pub fn into_projected_rows(self) -> Option<Vec<ProjectedRow<E>>>
Consume and return optional projected scalar rows.
Sourcepub const fn require_one(&self) -> Result<(), ResponseError>
pub const fn require_one(&self) -> Result<(), ResponseError>
Require exactly one row in this response.
Sourcepub const fn require_some(&self) -> Result<(), ResponseError>
pub const fn require_some(&self) -> Result<(), ResponseError>
Require at least one row in this response.
Sourcepub fn try_row(self) -> Result<Option<Row<E>>, ResponseError>
pub fn try_row(self) -> Result<Option<Row<E>>, ResponseError>
Consume and return None for empty, Some(row) for one row, or error for many rows.
Sourcepub fn row(self) -> Result<Row<E>, ResponseError>
pub fn row(self) -> Result<Row<E>, ResponseError>
Consume and return the single row, or fail on zero/many rows.
Sourcepub fn try_entity(self) -> Result<Option<E>, ResponseError>
pub fn try_entity(self) -> Result<Option<E>, ResponseError>
Consume and return the single entity or None, failing on many rows.
Sourcepub fn entity(self) -> Result<E, ResponseError>
pub fn entity(self) -> Result<E, ResponseError>
Consume and return the single entity, failing on zero/many rows.
Sourcepub fn id(&self) -> Option<Id<E>>
pub fn id(&self) -> Option<Id<E>>
Return the first row identifier, if present.
This identifier is a public value for correlation, reporting, and lookup only.
Sourcepub fn require_id(self) -> Result<Id<E>, ResponseError>
pub fn require_id(self) -> Result<Id<E>, ResponseError>
Require exactly one row and return its identifier.
Sourcepub fn ids(&self) -> Vec<Id<E>>
pub fn ids(&self) -> Vec<Id<E>>
Return all row identifiers in response order for correlation/reporting/lookup.
Sourcepub fn contains_id(&self, id: &Id<E>) -> bool
pub fn contains_id(&self, id: &Id<E>) -> bool
Check whether the response contains the provided identifier.
Sourcepub fn view(&self) -> Result<<E as AsView>::ViewType, ResponseError>
pub fn view(&self) -> Result<<E as AsView>::ViewType, ResponseError>
Return the single-row view, failing on zero/many rows.