Current section

Files

Jump to
cake src cake@query@join.erl
Raw

src/cake@query@join.erl

-module(cake@query@join).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([table/1, sub_query/1, cross/2, inner/3, left_outer/3, right_outer/3, full_outer/3]).
-spec table(binary()) -> cake@internal@query:join().
table(Tbl) ->
_pipe = Tbl,
{join_table, _pipe}.
-spec sub_query(cake@internal@query:'query'()) -> cake@internal@query:join().
sub_query(Sq) ->
_pipe = Sq,
{join_sub_query, _pipe}.
-spec cross(cake@internal@query:join(), binary()) -> cake@internal@query:join_part().
cross(Wth, Als) ->
{cross_join, Wth, Als}.
-spec inner(
cake@internal@query:join(),
binary(),
cake@internal@query:where_part()
) -> cake@internal@query:join_part().
inner(Wth, Als, On) ->
{inner_join, Wth, Als, On}.
-spec left_outer(
cake@internal@query:join(),
binary(),
cake@internal@query:where_part()
) -> cake@internal@query:join_part().
left_outer(Wth, Als, On) ->
{left_outer_join, Wth, Als, On}.
-spec right_outer(
cake@internal@query:join(),
binary(),
cake@internal@query:where_part()
) -> cake@internal@query:join_part().
right_outer(Wth, Als, On) ->
{right_outer_join, Wth, Als, On}.
-spec full_outer(
cake@internal@query:join(),
binary(),
cake@internal@query:where_part()
) -> cake@internal@query:join_part().
full_outer(Wth, Als, On) ->
{full_outer_join, Wth, Als, On}.