galchemy/session/loading

Types

pub type EagerLoad {
  EagerLoad(
    relation: relation.Relation,
    related_table: schema.Table,
    join: expression.Join,
  )
}

Constructors

pub type LazyLoad {
  LazyLoad(relation: relation.Relation, query: query.Query)
}

Constructors

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

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)
Search Document