starmap/query

Types

Where in a listable format

pub type ConvertedWhere(value) {
  ConvertedEqual(columns: ConvertedWhereColumns(value))
  ConvertedNotEqual(columns: ConvertedWhereColumns(value))
  ConvertedIsNull(column: TableColumn)
  ConvertedIsNotNull(column: TableColumn)
  ConvertedGreater(columns: ConvertedWhereColumns(value))
  ConvertedGreaterOrEqual(columns: ConvertedWhereColumns(value))
  ConvertedLower(columns: ConvertedWhereColumns(value))
  ConvertedLowerOrEqual(columns: ConvertedWhereColumns(value))
  ConvertedOr(
    where1: ConvertedWhere(value),
    where2: ConvertedWhere(value),
  )
}

Constructors

  • ConvertedEqual(columns: ConvertedWhereColumns(value))
  • ConvertedNotEqual(columns: ConvertedWhereColumns(value))
  • ConvertedIsNull(column: TableColumn)
  • ConvertedIsNotNull(column: TableColumn)
  • ConvertedGreater(columns: ConvertedWhereColumns(value))
  • ConvertedGreaterOrEqual(columns: ConvertedWhereColumns(value))
  • ConvertedLower(columns: ConvertedWhereColumns(value))
  • ConvertedLowerOrEqual(columns: ConvertedWhereColumns(value))
  • ConvertedOr(
      where1: ConvertedWhere(value),
      where2: ConvertedWhere(value),
    )
pub type ConvertedWhereColumns(value) {
  ConvertedColumnValue(column: TableColumn, val: value)
  ConvertedColumns(column1: TableColumn, column2: TableColumn)
}

Constructors

  • ConvertedColumnValue(column: TableColumn, val: value)
  • ConvertedColumns(column1: TableColumn, column2: TableColumn)
pub type Join {
  Join(column1: TableColumn, column2: TableColumn)
}

Constructors

  • Join(column1: TableColumn, column2: TableColumn)
pub type Query(t_columns, t_value) {
  Query(
    table: String,
    columns: t_columns,
    joins: List(Join),
    wheres: List(ConvertedWhere(t_value)),
    order_by: List(#(TableColumn, String)),
    group_by: List(TableColumn),
    limit: Option(Int),
  )
}

Constructors

  • Query(
      table: String,
      columns: t_columns,
      joins: List(Join),
      wheres: List(ConvertedWhere(t_value)),
      order_by: List(#(TableColumn, String)),
      group_by: List(TableColumn),
      limit: Option(Int),
    )
pub type TableColumn {
  TableColumn(table: String, column: String)
}

Constructors

  • TableColumn(table: String, column: String)
pub type Where(a, b, value) {
  Equal(columns: WhereColumns(a, value))
  NotEqual(columns: WhereColumns(a, value))
  IsNull(column: Column(Option(a), value))
  IsNotNull(column: Column(Option(a), value))
  Greater(columns: WhereColumns(a, value))
  GreaterOrEqual(columns: WhereColumns(a, value))
  Lower(columns: WhereColumns(a, value))
  LowerOrEqual(columns: WhereColumns(a, value))
  Or(where1: Where(a, b, value), where2: Where(b, a, value))
}

Constructors

  • Equal(columns: WhereColumns(a, value))
  • NotEqual(columns: WhereColumns(a, value))
  • IsNull(column: Column(Option(a), value))
  • IsNotNull(column: Column(Option(a), value))
  • Greater(columns: WhereColumns(a, value))
  • GreaterOrEqual(columns: WhereColumns(a, value))
  • Lower(columns: WhereColumns(a, value))
  • LowerOrEqual(columns: WhereColumns(a, value))
  • Or(where1: Where(a, b, value), where2: Where(b, a, value))
pub type WhereColumns(a, value) {
  ColumnValue(column: Column(a, value), val: a)
  Columns(column1: Column(a, value), column2: Column(a, value))
  ColumnsOneNullable(
    column1: Column(a, value),
    column2: Column(Option(a), value),
  )
}

Constructors

  • ColumnValue(column: Column(a, value), val: a)
  • Columns(column1: Column(a, value), column2: Column(a, value))
  • ColumnsOneNullable(
      column1: Column(a, value),
      column2: Column(Option(a), value),
    )

Functions

pub fn from(table: String) -> Query(Nil, a)
pub fn group_by(
  query: Query(a, b),
  column: Column(c, d),
) -> Query(a, b)
pub fn join(
  query: Query(a, b),
  column1: Column(c, d),
  column2: Column(c, d),
) -> Query(a, b)
pub fn limit(query: Query(a, b), amount: Int) -> Query(a, b)
pub fn order_by(
  query: Query(a, b),
  column: Column(c, d),
) -> Query(a, b)
pub fn order_by_desc(
  query: Query(a, b),
  column: Column(c, d),
) -> Query(a, b)
pub fn select1(
  query: Query(Nil, a),
  column1: Column(b, c),
) -> Query(Column(b, c), a)
pub fn select2(
  query: Query(Nil, a),
  column1: Column(b, c),
  column2: Column(d, c),
) -> Query(#(Column(b, c), Column(d, c)), a)
pub fn select3(
  query: Query(Nil, a),
  column1: Column(b, c),
  column2: Column(d, c),
  column3: Column(e, c),
) -> Query(#(Column(b, c), Column(d, c), Column(e, c)), a)
pub fn select4(
  query: Query(Nil, a),
  column1: Column(b, c),
  column2: Column(d, c),
  column3: Column(e, c),
  column4: Column(f, c),
) -> Query(
  #(Column(b, c), Column(d, c), Column(e, c), Column(f, c)),
  a,
)
pub fn select5(
  query: Query(Nil, a),
  column1: Column(b, c),
  column2: Column(d, c),
  column3: Column(e, c),
  column4: Column(f, c),
  column5: Column(g, c),
) -> Query(
  #(
    Column(b, c),
    Column(d, c),
    Column(e, c),
    Column(f, c),
    Column(g, c),
  ),
  a,
)
pub fn select6(
  query: Query(Nil, a),
  column1: Column(b, c),
  column2: Column(d, c),
  column3: Column(e, c),
  column4: Column(f, c),
  column5: Column(g, c),
  column6: Column(h, c),
) -> Query(
  #(
    Column(b, c),
    Column(d, c),
    Column(e, c),
    Column(f, c),
    Column(g, c),
    Column(h, c),
  ),
  a,
)
pub fn unwrap_converted_wheres(
  converted_wheres: List(ConvertedWhere(a)),
) -> List(Option(ConvertedWhereColumns(a)))
pub fn where(
  query: Query(a, b),
  where: Where(c, d, b),
) -> Query(a, b)
Search Document