Skip to main content

ResponseCardinalityExt

Trait ResponseCardinalityExt 

Source
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§

Source

fn require_one(&self) -> Result<(), ResponseError>

Require exactly one row in this response.

Source

fn require_some(&self) -> Result<(), ResponseError>

Require at least one row in this response.

Source

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.

Source

fn row(self) -> Result<Row<E>, ResponseError>

Consume and return the single row, or fail on zero/many rows.

Source

fn try_entity(self) -> Result<Option<E>, ResponseError>

Consume and return the single entity or None, failing on many rows.

Source

fn entity(self) -> Result<E, ResponseError>

Consume and return the single entity, failing on zero/many rows.

Source

fn require_id(self) -> Result<Id<E>, ResponseError>

Require exactly one row and return its identifier.

Implementors§