galchemy/orm/query

Types

pub type ModelRef {
  ModelRef(metadata: metadata.ModelMetadata, table: schema.Table)
}

Constructors

pub type QueryError {
  DeclarativeError(declarative.DeclarativeError)
  UnknownColumn(table: relation.TableRef, column: String)
  UnknownRelation(
    table: relation.TableRef,
    relation_name: String,
  )
  RelatedTableMismatch(
    relation_name: String,
    expected: relation.TableRef,
    actual: relation.TableRef,
  )
}

Constructors

pub type Selection {
  Selection(column: String, alias: option.Option(String))
}

Constructors

Values

pub fn as_(model_ref: ModelRef, alias: String) -> ModelRef
pub fn asc(
  model_ref: ModelRef,
  column_name: String,
) -> Result(expression.Order, QueryError)
pub fn col(
  model_ref: ModelRef,
  column_name: String,
) -> Result(expression.Expression, QueryError)
pub fn desc(
  model_ref: ModelRef,
  column_name: String,
) -> Result(expression.Order, QueryError)
pub fn eq(
  model_ref: ModelRef,
  column_name: String,
  value: expression.Expression,
) -> Result(expression.Predicate, QueryError)
pub fn field(column: String) -> Selection
pub fn field_as(column: String, alias: String) -> Selection
pub fn from_metadata(
  next_metadata: metadata.ModelMetadata,
) -> ModelRef
pub fn from_model(
  next_model: declarative.Model,
) -> Result(ModelRef, QueryError)
pub fn gt(
  model_ref: ModelRef,
  column_name: String,
  value: expression.Expression,
) -> Result(expression.Predicate, QueryError)
pub fn gte(
  model_ref: ModelRef,
  column_name: String,
  value: expression.Expression,
) -> Result(expression.Predicate, QueryError)
pub fn ilike(
  model_ref: ModelRef,
  column_name: String,
  value: expression.Expression,
) -> Result(expression.Predicate, QueryError)
pub fn in_list(
  model_ref: ModelRef,
  column_name: String,
  values: List(expression.Expression),
) -> Result(expression.Predicate, QueryError)
pub fn inner_join_relation(
  query: expression.SelectQuery,
  model_ref: ModelRef,
  relation_name: String,
  related_model: ModelRef,
) -> Result(expression.SelectQuery, QueryError)
pub fn is_not_null(
  model_ref: ModelRef,
  column_name: String,
) -> Result(expression.Predicate, QueryError)
pub fn is_null(
  model_ref: ModelRef,
  column_name: String,
) -> Result(expression.Predicate, QueryError)
pub fn item(
  model_ref: ModelRef,
  column_name: String,
) -> Result(expression.SelectItem, QueryError)
pub fn item_as(
  model_ref: ModelRef,
  column_name: String,
  alias: String,
) -> Result(expression.SelectItem, QueryError)
pub fn left_join_relation(
  query: expression.SelectQuery,
  model_ref: ModelRef,
  relation_name: String,
  related_model: ModelRef,
) -> Result(expression.SelectQuery, QueryError)
pub fn like(
  model_ref: ModelRef,
  column_name: String,
  value: expression.Expression,
) -> Result(expression.Predicate, QueryError)
pub fn limit(
  query: expression.SelectQuery,
  value: Int,
) -> expression.SelectQuery
pub fn lt(
  model_ref: ModelRef,
  column_name: String,
  value: expression.Expression,
) -> Result(expression.Predicate, QueryError)
pub fn lte(
  model_ref: ModelRef,
  column_name: String,
  value: expression.Expression,
) -> Result(expression.Predicate, QueryError)
pub fn neq(
  model_ref: ModelRef,
  column_name: String,
  value: expression.Expression,
) -> Result(expression.Predicate, QueryError)
pub fn offset(
  query: expression.SelectQuery,
  value: Int,
) -> expression.SelectQuery
pub fn select_all(model_ref: ModelRef) -> expression.SelectQuery
pub fn select_fields(
  model_ref: ModelRef,
  selections: List(Selection),
) -> Result(expression.SelectQuery, QueryError)
Search Document