galchemy/orm/identity_map
Types
pub type IdentityEntry {
IdentityEntry(
table: relation.TableRef,
identity: unit_of_work.Identity,
entity: entity.Entity,
)
}
Constructors
-
IdentityEntry( table: relation.TableRef, identity: unit_of_work.Identity, entity: entity.Entity, )
pub type IdentityMap {
IdentityMap(entries: List(IdentityEntry))
}
Constructors
-
IdentityMap(entries: List(IdentityEntry))
pub type IdentityMapError {
EntityError(entity.EntityError)
DuplicateIdentity(relation.TableRef, unit_of_work.Identity)
}
Constructors
-
EntityError(entity.EntityError) -
DuplicateIdentity(relation.TableRef, unit_of_work.Identity)
Values
pub fn empty() -> IdentityMap
pub fn entries(map: IdentityMap) -> List(IdentityEntry)
pub fn get(
map: IdentityMap,
table: relation.TableRef,
identity: unit_of_work.Identity,
) -> option.Option(entity.Entity)
pub fn insert(
map: IdentityMap,
next_entity: entity.Entity,
) -> Result(IdentityMap, IdentityMapError)
pub fn remove(
map: IdentityMap,
table: relation.TableRef,
identity: unit_of_work.Identity,
) -> IdentityMap
pub fn upsert(
map: IdentityMap,
next_entity: entity.Entity,
) -> Result(IdentityMap, IdentityMapError)
pub fn values(map: IdentityMap) -> List(entity.Entity)
pub fn values_for_table(
map: IdentityMap,
table: relation.TableRef,
) -> List(entity.Entity)