Current section
Files
Jump to
Current section
Files
src/galchemy@dsl@select.erl
-module(galchemy@dsl@select).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src\\galchemy\\dsl\\select.gleam").
-export([select/1, from/2, from_derived/3, inner_join/3, inner_join_derived/4, left_join/3, left_join_derived/4, where_/2, with_cte/3, union/2, union_all/2, group_by/2, having/2, asc/1, desc/1, order_by/2, limit/2, offset/2, distinct/1]).
-file("src\\galchemy\\dsl\\select.gleam", 6).
-spec select(list(galchemy@ast@expression:select_item())) -> galchemy@ast@expression:select_query().
select(Items) ->
{select_query,
[],
Items,
none,
[],
none,
[],
none,
[],
[],
none,
none,
false}.
-file("src\\galchemy\\dsl\\select.gleam", 23).
-spec from(galchemy@ast@expression:select_query(), galchemy@ast@schema:table()) -> galchemy@ast@expression:select_query().
from(Query, Table) ->
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
{some, {table_source, Table}},
erlang:element(5, Query),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 33).
-spec from_derived(
galchemy@ast@expression:select_query(),
galchemy@ast@expression:select_query(),
binary()
) -> galchemy@ast@expression:select_query().
from_derived(Query, Derived_query, Alias) ->
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
{some, {derived_source, Derived_query, Alias}},
erlang:element(5, Query),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 47).
-spec inner_join(
galchemy@ast@expression:select_query(),
galchemy@ast@schema:table(),
galchemy@ast@expression:predicate()
) -> galchemy@ast@expression:select_query().
inner_join(Query, Table, On) ->
Next_join = {join, inner_join, {table_source, Table}, On},
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
lists:append(erlang:element(5, Query), [Next_join]),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 62).
-spec inner_join_derived(
galchemy@ast@expression:select_query(),
galchemy@ast@expression:select_query(),
binary(),
galchemy@ast@expression:predicate()
) -> galchemy@ast@expression:select_query().
inner_join_derived(Query, Derived_query, Alias, On) ->
Next_join = {join, inner_join, {derived_source, Derived_query, Alias}, On},
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
lists:append(erlang:element(5, Query), [Next_join]),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 78).
-spec left_join(
galchemy@ast@expression:select_query(),
galchemy@ast@schema:table(),
galchemy@ast@expression:predicate()
) -> galchemy@ast@expression:select_query().
left_join(Query, Table, On) ->
Next_join = {join, left_join, {table_source, Table}, On},
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
lists:append(erlang:element(5, Query), [Next_join]),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 93).
-spec left_join_derived(
galchemy@ast@expression:select_query(),
galchemy@ast@expression:select_query(),
binary(),
galchemy@ast@expression:predicate()
) -> galchemy@ast@expression:select_query().
left_join_derived(Query, Derived_query, Alias, On) ->
Next_join = {join, left_join, {derived_source, Derived_query, Alias}, On},
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
lists:append(erlang:element(5, Query), [Next_join]),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 109).
-spec where_(
galchemy@ast@expression:select_query(),
galchemy@ast@expression:predicate()
) -> galchemy@ast@expression:select_query().
where_(Query, Predicate) ->
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
erlang:element(5, Query),
{some, Predicate},
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 116).
-spec with_cte(
galchemy@ast@expression:select_query(),
binary(),
galchemy@ast@expression:select_query()
) -> galchemy@ast@expression:select_query().
with_cte(Query, Name, Cte_query) ->
Cte = {cte, Name, Cte_query},
{select_query,
lists:append(erlang:element(2, Query), [Cte]),
erlang:element(3, Query),
erlang:element(4, Query),
erlang:element(5, Query),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 125).
-spec union(
galchemy@ast@expression:select_query(),
galchemy@ast@expression:select_query()
) -> galchemy@ast@expression:select_query().
union(Query, Other) ->
Operation = {set_operation, union, Other},
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
erlang:element(5, Query),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
lists:append(erlang:element(9, Query), [Operation]),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 136).
-spec union_all(
galchemy@ast@expression:select_query(),
galchemy@ast@expression:select_query()
) -> galchemy@ast@expression:select_query().
union_all(Query, Other) ->
Operation = {set_operation, union_all, Other},
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
erlang:element(5, Query),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
lists:append(erlang:element(9, Query), [Operation]),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 148).
-spec group_by(
galchemy@ast@expression:select_query(),
galchemy@ast@expression:expression()
) -> galchemy@ast@expression:select_query().
group_by(Query, Expr) ->
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
erlang:element(5, Query),
erlang:element(6, Query),
lists:append(erlang:element(7, Query), [Expr]),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 155).
-spec having(
galchemy@ast@expression:select_query(),
galchemy@ast@expression:predicate()
) -> galchemy@ast@expression:select_query().
having(Query, Predicate) ->
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
erlang:element(5, Query),
erlang:element(6, Query),
erlang:element(7, Query),
{some, Predicate},
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 162).
-spec asc(galchemy@ast@expression:expression()) -> galchemy@ast@expression:order().
asc(Expr) ->
{order, Expr, asc}.
-file("src\\galchemy\\dsl\\select.gleam", 166).
-spec desc(galchemy@ast@expression:expression()) -> galchemy@ast@expression:order().
desc(Expr) ->
{order, Expr, desc}.
-file("src\\galchemy\\dsl\\select.gleam", 170).
-spec order_by(
galchemy@ast@expression:select_query(),
galchemy@ast@expression:order()
) -> galchemy@ast@expression:select_query().
order_by(Query, Item) ->
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
erlang:element(5, Query),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
lists:append(erlang:element(10, Query), [Item]),
erlang:element(11, Query),
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 177).
-spec limit(galchemy@ast@expression:select_query(), integer()) -> galchemy@ast@expression:select_query().
limit(Query, Value) ->
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
erlang:element(5, Query),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
{some, Value},
erlang:element(12, Query),
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 184).
-spec offset(galchemy@ast@expression:select_query(), integer()) -> galchemy@ast@expression:select_query().
offset(Query, Value) ->
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
erlang:element(5, Query),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
{some, Value},
erlang:element(13, Query)}.
-file("src\\galchemy\\dsl\\select.gleam", 191).
-spec distinct(galchemy@ast@expression:select_query()) -> galchemy@ast@expression:select_query().
distinct(Query) ->
{select_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
erlang:element(5, Query),
erlang:element(6, Query),
erlang:element(7, Query),
erlang:element(8, Query),
erlang:element(9, Query),
erlang:element(10, Query),
erlang:element(11, Query),
erlang:element(12, Query),
true}.