Skip to main content

ResolvedRepository

Struct ResolvedRepository 

Source
pub struct ResolvedRepository<'a, D, E> { /* private fields */ }

Implementations§

Source§

impl<'a, D, E> ResolvedRepository<'a, D, E>

Source

pub fn save_graph( &self, node: GraphNode, ) -> Result<GraphNode, RepositoryError<E::Error>>

Source

pub fn save_entity_graph<T>( &self, entity: T, ) -> Result<GraphNode, RepositoryError<E::Error>>
where T: Entity,

Source

pub fn save_entity<T>( &self, entity: T, status: EntityStatus, ) -> Result<GraphNode, RepositoryError<E::Error>>
where T: Entity,

Source

pub fn save_entity_with_comment<T>( &self, entity: T, status: EntityStatus, comment: impl Into<String>, ) -> Result<GraphNode, RepositoryError<E::Error>>
where T: Entity,

Source

pub fn save_entity_graph_with_comment<T>( &self, entity: T, comment: impl Into<String>, ) -> Result<GraphNode, RepositoryError<E::Error>>
where T: Entity,

Source

pub fn create_entity_graph_with_comment<T>( &self, entity: T, comment: impl Into<String>, ) -> Result<GraphNode, RepositoryError<E::Error>>
where T: Entity,

Create a new entity graph with an annotation comment on the root node. This assumes all new nodes do not exist in the database, skipping existence checks and throwing an exception on primary key conflict.

Source

pub fn plan_graph( &self, node: GraphNode, ) -> Result<GraphMutationPlan, RepositoryError<E::Error>>

Source

pub fn execute_graph_plan( &self, plan: GraphMutationPlan, ) -> Result<GraphNode, RepositoryError<E::Error>>

Source

pub fn graph_node_from_entity<T>( &self, entity: T, ) -> Result<GraphNode, RuntimeError>
where T: Entity,

Source§

impl<'a, D, E> ResolvedRepository<'a, D, E>

Source

pub fn relation_loads(&self) -> Vec<String>

Source

pub fn relation_plans(&self) -> Result<Vec<RelationLoadPlan>, RuntimeError>

Source

pub fn relation_query( &self, relation_name: &str, parent_rows: &[Record], ) -> Result<SelectQuery, RuntimeError>

Source

pub fn enhance_relations( &self, parent_rows: &mut [Record], ) -> Result<(), RepositoryError<E::Error>>

Source

pub fn enhance_query_relations( &self, parent_rows: &mut [Record], query: &SelectQuery, ) -> Result<(), RepositoryError<E::Error>>

Source

pub fn enhance_relation_aggregates( &self, parent_rows: &mut [Record], relation_aggregates: &[RelationAggregate], parent_cache_options: Option<AggregationCacheOptions>, ) -> Result<(), RepositoryError<E::Error>>

Source

pub fn enhance_object_group_bys( &self, rows: &mut [Record], object_group_bys: &[ObjectGroupBy], ) -> Result<(), RepositoryError<E::Error>>

Source

pub fn enhance_child_queries( &self, rows: &mut [Record], child_queries: &[SelectQuery], ) -> Result<(), RepositoryError<E::Error>>

Source§

impl<'a, D, E> ResolvedRepository<'a, D, E>

Source

pub fn entity(&self) -> &str

Source

pub fn select(&self) -> SelectQuery

Source

pub fn insert_command(&self) -> InsertCommand

Source

pub fn prepare_insert_command( &self, command: &InsertCommand, ) -> Result<InsertCommand, RuntimeError>

Source

pub fn update_command(&self, id: impl Into<Value>) -> UpdateCommand

Source

pub fn prepare_update_command( &self, command: &UpdateCommand, ) -> Result<UpdateCommand, RuntimeError>

Source

pub fn delete_command(&self, id: impl Into<Value>) -> DeleteCommand

Source

pub fn recover_command( &self, id: impl Into<Value>, expected_version: i64, ) -> RecoverCommand

Source

pub fn compile( &self, query: &SelectQuery, ) -> Result<CompiledQuery, RuntimeError>

Source

pub fn fetch_all( &self, query: &SelectQuery, ) -> Result<Vec<Record>, RepositoryError<E::Error>>

Source

pub fn fetch_all_with_relation_aggregates( &self, query: &SelectQuery, relation_aggregates: &[RelationAggregate], ) -> Result<Vec<Record>, RepositoryError<E::Error>>

Source

pub fn fetch_smart_list( &self, query: &SelectQuery, ) -> Result<SmartList<Record>, RepositoryError<E::Error>>

Source

pub fn fetch_smart_list_with_relation_aggregates( &self, query: &SelectQuery, relation_aggregates: &[RelationAggregate], ) -> Result<SmartList<Record>, RepositoryError<E::Error>>

Source

pub fn fetch_entities<T>( &self, query: &SelectQuery, ) -> Result<SmartList<T>, RepositoryError<E::Error>>
where T: Entity,

Source

pub fn fetch_entities_with_relation_aggregates<T>( &self, query: &SelectQuery, relation_aggregates: &[RelationAggregate], ) -> Result<SmartList<T>, RepositoryError<E::Error>>
where T: Entity,

Source

pub fn fetch_enhanced_entities_with_relation_aggregates<T>( &self, query: &SelectQuery, relation_aggregates: &[RelationAggregate], ) -> Result<SmartList<T>, RepositoryError<E::Error>>
where T: Entity,

Source

pub fn fetch_enhanced_entities<T>( &self, query: &SelectQuery, ) -> Result<SmartList<T>, RepositoryError<E::Error>>
where T: Entity,

Source

pub fn insert( &self, command: &InsertCommand, ) -> Result<u64, RepositoryError<E::Error>>

Source

pub fn update( &self, command: &UpdateCommand, ) -> Result<u64, RepositoryError<E::Error>>

Source

pub fn delete( &self, command: &DeleteCommand, ) -> Result<u64, RepositoryError<E::Error>>

Source

pub fn delete_scoped( &self, command: &DeleteCommand, comment_lineage: Option<String>, ) -> Result<u64, RepositoryError<E::Error>>

Source

pub fn recover( &self, command: &RecoverCommand, ) -> Result<u64, RepositoryError<E::Error>>

Auto Trait Implementations§

§

impl<'a, D, E> Freeze for ResolvedRepository<'a, D, E>

§

impl<'a, D, E> !RefUnwindSafe for ResolvedRepository<'a, D, E>

§

impl<'a, D, E> Send for ResolvedRepository<'a, D, E>
where D: Sync, E: Sync,

§

impl<'a, D, E> Sync for ResolvedRepository<'a, D, E>
where D: Sync, E: Sync,

§

impl<'a, D, E> Unpin for ResolvedRepository<'a, D, E>

§

impl<'a, D, E> UnsafeUnpin for ResolvedRepository<'a, D, E>

§

impl<'a, D, E> !UnwindSafe for ResolvedRepository<'a, D, E>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.