pub trait ResponseCardinalityExt<E: EntityKind>: SealedResponseCardinalityExt<E> {
// Required methods
fn require_one(&self) -> Result<(), ResponseError>;
fn require_some(&self) -> Result<(), ResponseError>;
fn try_row(self) -> Result<Option<Row<E>>, ResponseError>;
fn row(self) -> Result<Row<E>, ResponseError>;
fn try_entity(self) -> Result<Option<E>, ResponseError>;
fn entity(self) -> Result<E, ResponseError>;
fn require_id(self) -> Result<Id<E>, ResponseError>;
}Expand description
ResponseCardinalityExt
Query/session-layer cardinality helpers for scalar EntityResponse<E> payloads.
These methods intentionally live outside db::response so cardinality
semantics remain owned by the query/session API boundary.
Required Methods§
Sourcefn require_one(&self) -> Result<(), ResponseError>
fn require_one(&self) -> Result<(), ResponseError>
Require exactly one row in this response.
Sourcefn require_some(&self) -> Result<(), ResponseError>
fn require_some(&self) -> Result<(), ResponseError>
Require at least one row in this response.
Sourcefn try_row(self) -> Result<Option<Row<E>>, ResponseError>
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.
Sourcefn row(self) -> Result<Row<E>, ResponseError>
fn row(self) -> Result<Row<E>, ResponseError>
Consume and return the single row, or fail on zero/many rows.
Sourcefn try_entity(self) -> Result<Option<E>, ResponseError>
fn try_entity(self) -> Result<Option<E>, ResponseError>
Consume and return the single entity or None, failing on many rows.
Sourcefn entity(self) -> Result<E, ResponseError>
fn entity(self) -> Result<E, ResponseError>
Consume and return the single entity, failing on zero/many rows.
Sourcefn require_id(self) -> Result<Id<E>, ResponseError>
fn require_id(self) -> Result<Id<E>, ResponseError>
Require exactly one row and return its identifier.