galchemy/session/loading
Types
pub type EagerLoad {
EagerLoad(
relation: relation.Relation,
related_table: schema.Table,
join: expression.Join,
)
}
Constructors
-
EagerLoad( relation: relation.Relation, related_table: schema.Table, join: expression.Join, )
pub type LazyLoad {
LazyLoad(relation: relation.Relation, query: query.Query)
}
Constructors
-
LazyLoad(relation: relation.Relation, query: query.Query)
pub type LoadError {
UnknownTable(relation.TableRef)
UnknownRelation(
table: relation.TableRef,
relation_name: String,
)
EmptyParentIdentities(
table: relation.TableRef,
relation_name: String,
)
MissingIdentityField(
table: relation.TableRef,
relation_name: String,
column: String,
)
}
Constructors
-
UnknownTable(relation.TableRef) -
UnknownRelation(table: relation.TableRef, relation_name: String) -
EmptyParentIdentities( table: relation.TableRef, relation_name: String, ) -
MissingIdentityField( table: relation.TableRef, relation_name: String, column: String, )
Values
pub fn apply_eager(
select_query: expression.SelectQuery,
snapshot: model.SchemaSnapshot,
source_table: schema.Table,
relation_name: String,
alias: option.Option(String),
) -> Result(expression.SelectQuery, LoadError)
pub fn eager_join(
snapshot: model.SchemaSnapshot,
source_table: schema.Table,
relation_name: String,
alias: option.Option(String),
) -> Result(EagerLoad, LoadError)
pub fn lazy_query(
snapshot: model.SchemaSnapshot,
source_table: relation.TableRef,
relation_name: String,
identities: List(unit_of_work.Identity),
) -> Result(LazyLoad, LoadError)