gloo/query
Single-table query builder. Use query.from(table) to start, then pipe
through where, order_by, limit, offset, insert, update, or
delete. A Query(t) is an inert value — it only executes when passed
to a repo function (repo.query_all, repo.query_one, etc.).
Available predicates: Eq, Neq, Gt, Gte, Lt, Lte, In,
Like, IsNull, IsNotNull, And, Or, Not.
Types
pub type Condition {
Eq(column: String, value: value.GlooValue)
Neq(column: String, value: value.GlooValue)
Gt(column: String, value: value.GlooValue)
Gte(column: String, value: value.GlooValue)
Lt(column: String, value: value.GlooValue)
Lte(column: String, value: value.GlooValue)
In(column: String, values: List(value.GlooValue))
Like(column: String, pattern: String)
IsNull(column: String)
IsNotNull(column: String)
And(List(Condition))
Or(List(Condition))
Not(Condition)
}
Constructors
-
Eq(column: String, value: value.GlooValue) -
Neq(column: String, value: value.GlooValue) -
Gt(column: String, value: value.GlooValue) -
Gte(column: String, value: value.GlooValue) -
Lt(column: String, value: value.GlooValue) -
Lte(column: String, value: value.GlooValue) -
In(column: String, values: List(value.GlooValue)) -
Like(column: String, pattern: String) -
IsNull(column: String) -
IsNotNull(column: String) -
And(List(Condition)) -
Or(List(Condition)) -
Not(Condition)
Values
pub fn decoder(query: Query(t)) -> decode.Decoder(t)
pub fn from(table: schema.Table(t)) -> Query(t)
pub fn insert(
query: Query(t),
table: schema.Table(t),
row: List(#(String, value.GlooValue)),
) -> Query(t)
pub fn returning(
query: Query(t),
decoder: decode.Decoder(u),
) -> Query(u)
pub fn to_sql(
query: Query(t),
) -> #(String, List(value.GlooValue))
pub fn update(
query: Query(t),
sets: List(#(String, value.GlooValue)),
) -> Query(t)