db/query/yummy

Types

pub type Eq {
  Equals(col: String, value: Value)
  Not(Eq)
  Or(Eq, Eq)
  And(Eq, Eq)
}

Constructors

  • Equals(col: String, value: Value)
  • Not(Eq)
  • Or(Eq, Eq)
  • And(Eq, Eq)
pub type QueryBuilder {
  QueryBuilder(
    table: schema.Table,
    select_columns: List(String),
    where_clauses: List(Eq),
    order_by_clauses: List(String),
  )
}

Constructors

  • QueryBuilder(
      table: schema.Table,
      select_columns: List(String),
      where_clauses: List(Eq),
      order_by_clauses: List(String),
    )
pub type Value {
  IntValue(Int)
  StringValue(String)
  BoolValue(Bool)
  ErrorValue(String)
}

Constructors

  • IntValue(Int)
  • StringValue(String)
  • BoolValue(Bool)
  • ErrorValue(String)
pub type WhereBuilder {
  WhereBuilder(table: schema.Table, clauses: List(Eq))
}

Constructors

  • WhereBuilder(table: schema.Table, clauses: List(Eq))

Functions

pub fn and(builder: WhereBuilder) -> WhereBuilder
pub fn equals(
  builder: WhereBuilder,
  col: String,
  value: a,
) -> WhereBuilder
pub fn new(table: Table) -> QueryBuilder
pub fn not(builder: WhereBuilder) -> WhereBuilder
pub fn or(builder: WhereBuilder) -> WhereBuilder
pub fn order_by(
  builder: QueryBuilder,
  column: String,
  direction: String,
) -> QueryBuilder
pub fn select(builder: QueryBuilder) -> QueryBuilder
pub fn to_sql(builder: QueryBuilder) -> Result(String, String)
pub fn wb(table: Table) -> WhereBuilder
pub fn where(
  builder: QueryBuilder,
  condition: WhereBuilder,
) -> QueryBuilder
Search Document