-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}.