galchemy/orm/query
Types
pub type ModelRef {
ModelRef(metadata: metadata.ModelMetadata, table: schema.Table)
}
Constructors
-
ModelRef(metadata: metadata.ModelMetadata, table: schema.Table)
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
-
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, )
pub type Selection {
Selection(column: String, alias: option.Option(String))
}
Constructors
-
Selection(column: String, alias: option.Option(String))
Values
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 distinct(
query: expression.SelectQuery,
) -> expression.SelectQuery
pub fn eq(
model_ref: ModelRef,
column_name: String,
value: expression.Expression,
) -> Result(expression.Predicate, QueryError)
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 order_by(
query: expression.SelectQuery,
next_order: expression.Order,
) -> 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)
pub fn where_(
query: expression.SelectQuery,
next_predicate: expression.Predicate,
) -> expression.SelectQuery