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, inner/3, left/3, right/3, full/3, cross/2]).
-spec table(binary()) -> cake@internal@query:join_target().
table(Tbl_nm) ->
_pipe = Tbl_nm,
{join_table, _pipe}.
-spec sub_query(cake@internal@query:'query'()) -> cake@internal@query:join_target().
sub_query(Sq) ->
_pipe = Sq,
{join_sub_query, _pipe}.
-spec inner(
cake@internal@query:join_target(),
cake@internal@query:where(),
binary()
) -> cake@internal@query:join().
inner(Wth, On, Als) ->
_pipe = Wth,
{inner_join, _pipe, Als, On}.
-spec left(
cake@internal@query:join_target(),
cake@internal@query:where(),
binary()
) -> cake@internal@query:join().
left(Wth, On, Als) ->
_pipe = Wth,
{left_join, _pipe, Als, On}.
-spec right(
cake@internal@query:join_target(),
cake@internal@query:where(),
binary()
) -> cake@internal@query:join().
right(Wth, On, Als) ->
_pipe = Wth,
{right_join, _pipe, Als, On}.
-spec full(
cake@internal@query:join_target(),
cake@internal@query:where(),
binary()
) -> cake@internal@query:join().
full(Wth, On, Als) ->
_pipe = Wth,
{full_join, _pipe, Als, On}.
-spec cross(cake@internal@query:join_target(), binary()) -> cake@internal@query:join().
cross(Wth, Als) ->
_pipe = Wth,
{cross_join, _pipe, Als}.