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 join(
query: Query(a, b),
column1: Column(c, d),
column2: 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)))