Current section

Files

Jump to
cake src cake@delete.erl
Raw

src/cake@delete.erl

-module(cake@delete).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([to_query/1, new/0, modifier/2, no_modifier/1, get_modifier/1, table/2, no_table/1, get_table/1, using_table/2, using_sub_query/3, replace_using_table/2, replace_using_sub_query/3, no_using/1, get_using/1, join/2, replace_join/2, joins/2, replace_joins/2, no_join/1, get_joins/1, where/2, or_where/2, xor_where/2, replace_where/2, no_where/1, get_where/1, returning/2, no_returning/1, epilog/2, no_epilog/1, get_epilog/1, comment/2, no_comment/1, get_comment/1]).
-spec to_query(cake@internal@write_query:delete(PTQ)) -> cake@internal@write_query:write_query(PTQ).
to_query(Dlt) ->
_pipe = Dlt,
{delete_query, _pipe}.
-spec new() -> cake@internal@write_query:delete(any()).
new() ->
{delete,
no_delete_modifier,
no_delete_table,
no_delete_using,
no_joins,
no_where,
no_returning,
no_epilog,
no_comment}.
-spec modifier(cake@internal@write_query:delete(PTV), binary()) -> cake@internal@write_query:delete(PTV).
modifier(Dlt, Mdfr) ->
Mdfr@1 = begin
_pipe = Mdfr,
gleam@string:trim(_pipe)
end,
case Mdfr@1 of
<<""/utf8>> ->
erlang:setelement(2, Dlt, no_delete_modifier);
_ ->
erlang:setelement(
2,
Dlt,
begin
_pipe@1 = Mdfr@1,
{delete_modifier, _pipe@1}
end
)
end.
-spec no_modifier(cake@internal@write_query:delete(PTY)) -> cake@internal@write_query:delete(PTY).
no_modifier(Dlt) ->
erlang:setelement(2, Dlt, no_delete_modifier).
-spec get_modifier(cake@internal@write_query:delete(any())) -> binary().
get_modifier(Dlt) ->
case erlang:element(2, Dlt) of
no_delete_modifier ->
<<""/utf8>>;
{delete_modifier, Mdfr} ->
Mdfr
end.
-spec table(cake@internal@write_query:delete(PUD), binary()) -> cake@internal@write_query:delete(PUD).
table(Dlt, Tbl_nm) ->
erlang:setelement(
3,
Dlt,
begin
_pipe = Tbl_nm,
{delete_table, _pipe}
end
).
-spec no_table(cake@internal@write_query:delete(PUG)) -> cake@internal@write_query:delete(PUG).
no_table(Dlt) ->
erlang:setelement(3, Dlt, no_delete_table).
-spec get_table(cake@internal@write_query:delete(any())) -> cake@internal@write_query:delete_table().
get_table(Dlt) ->
erlang:element(3, Dlt).
-spec using_table(cake@internal@write_query:delete(PUL), binary()) -> cake@internal@write_query:delete(PUL).
using_table(Dlt, Tbl_nm) ->
case erlang:element(4, Dlt) of
no_delete_using ->
erlang:setelement(
4,
Dlt,
begin
_pipe@1 = [begin
_pipe = Tbl_nm,
{from_table, _pipe}
end],
{delete_using, _pipe@1}
end
);
{delete_using, Dlt_usngs} ->
erlang:setelement(
4,
Dlt,
begin
_pipe@2 = Dlt_usngs,
_pipe@4 = lists:append(
_pipe@2,
[begin
_pipe@3 = Tbl_nm,
{from_table, _pipe@3}
end]
),
{delete_using, _pipe@4}
end
)
end.
-spec using_sub_query(
cake@internal@write_query:delete(PUO),
cake@internal@read_query:read_query(),
binary()
) -> cake@internal@write_query:delete(PUO).
using_sub_query(Dlt, Qry, Als) ->
case erlang:element(4, Dlt) of
no_delete_using ->
erlang:setelement(
4,
Dlt,
begin
_pipe@1 = [begin
_pipe = Qry,
{from_sub_query, _pipe, Als}
end],
{delete_using, _pipe@1}
end
);
{delete_using, Dlt_usngs} ->
erlang:setelement(
4,
Dlt,
begin
_pipe@2 = Dlt_usngs,
_pipe@4 = lists:append(
_pipe@2,
[begin
_pipe@3 = Qry,
{from_sub_query, _pipe@3, Als}
end]
),
{delete_using, _pipe@4}
end
)
end.
-spec replace_using_table(cake@internal@write_query:delete(PUR), binary()) -> cake@internal@write_query:delete(PUR).
replace_using_table(Dlt, Tbl_nm) ->
case erlang:element(4, Dlt) of
no_delete_using ->
erlang:setelement(
4,
Dlt,
begin
_pipe@1 = [begin
_pipe = Tbl_nm,
{from_table, _pipe}
end],
{delete_using, _pipe@1}
end
);
{delete_using, _} ->
erlang:setelement(
4,
Dlt,
begin
_pipe@3 = [begin
_pipe@2 = Tbl_nm,
{from_table, _pipe@2}
end],
{delete_using, _pipe@3}
end
)
end.
-spec replace_using_sub_query(
cake@internal@write_query:delete(PUU),
cake@internal@read_query:read_query(),
binary()
) -> cake@internal@write_query:delete(PUU).
replace_using_sub_query(Dlt, Qry, Als) ->
case erlang:element(4, Dlt) of
no_delete_using ->
erlang:setelement(
4,
Dlt,
begin
_pipe@1 = [begin
_pipe = Qry,
{from_sub_query, _pipe, Als}
end],
{delete_using, _pipe@1}
end
);
{delete_using, _} ->
erlang:setelement(
4,
Dlt,
begin
_pipe@3 = [begin
_pipe@2 = Qry,
{from_sub_query, _pipe@2, Als}
end],
{delete_using, _pipe@3}
end
)
end.
-spec no_using(cake@internal@write_query:delete(PUX)) -> cake@internal@write_query:delete(PUX).
no_using(Dlt) ->
erlang:setelement(4, Dlt, no_delete_using).
-spec get_using(cake@internal@write_query:delete(any())) -> list(cake@internal@read_query:from()).
get_using(Dlt) ->
case erlang:element(4, Dlt) of
no_delete_using ->
[];
{delete_using, Usng} ->
Usng
end.
-spec join(
cake@internal@write_query:delete(PVD),
cake@internal@read_query:join()
) -> cake@internal@write_query:delete(PVD).
join(Dlt, Jn) ->
case erlang:element(5, Dlt) of
{joins, Jns} ->
erlang:setelement(
5,
Dlt,
begin
_pipe = Jns,
_pipe@1 = lists:append(_pipe, [Jn]),
{joins, _pipe@1}
end
);
no_joins ->
erlang:setelement(
5,
Dlt,
begin
_pipe@2 = [Jn],
{joins, _pipe@2}
end
)
end.
-spec replace_join(
cake@internal@write_query:delete(PVG),
cake@internal@read_query:join()
) -> cake@internal@write_query:delete(PVG).
replace_join(Dlt, Jn) ->
erlang:setelement(
5,
Dlt,
begin
_pipe = [Jn],
{joins, _pipe}
end
).
-spec joins(
cake@internal@write_query:delete(PVJ),
list(cake@internal@read_query:join())
) -> cake@internal@write_query:delete(PVJ).
joins(Dlt, Jns) ->
case {Jns, erlang:element(5, Dlt)} of
{[], _} ->
erlang:setelement(
5,
Dlt,
begin
_pipe = Jns,
{joins, _pipe}
end
);
{Jns@1, {joins, Dlt_joins}} ->
erlang:setelement(
5,
Dlt,
begin
_pipe@1 = Dlt_joins,
_pipe@2 = lists:append(_pipe@1, Jns@1),
{joins, _pipe@2}
end
);
{Jns@2, no_joins} ->
erlang:setelement(
5,
Dlt,
begin
_pipe@3 = Jns@2,
{joins, _pipe@3}
end
)
end.
-spec replace_joins(
cake@internal@write_query:delete(PVN),
list(cake@internal@read_query:join())
) -> cake@internal@write_query:delete(PVN).
replace_joins(Dlt, Jns) ->
erlang:setelement(
5,
Dlt,
begin
_pipe = Jns,
{joins, _pipe}
end
).
-spec no_join(cake@internal@write_query:delete(PVR)) -> cake@internal@write_query:delete(PVR).
no_join(Dlt) ->
erlang:setelement(5, Dlt, no_joins).
-spec get_joins(cake@internal@write_query:delete(any())) -> cake@internal@read_query:joins().
get_joins(Dlt) ->
erlang:element(5, Dlt).
-spec where(
cake@internal@write_query:delete(PVW),
cake@internal@read_query:where()
) -> cake@internal@write_query:delete(PVW).
where(Dlt, Whr) ->
case erlang:element(6, Dlt) of
no_where ->
erlang:setelement(6, Dlt, Whr);
{and_where, Wheres} ->
erlang:setelement(
6,
Dlt,
begin
_pipe = Wheres,
_pipe@1 = lists:append(_pipe, [Whr]),
{and_where, _pipe@1}
end
);
_ ->
erlang:setelement(
6,
Dlt,
begin
_pipe@2 = [erlang:element(6, Dlt), Whr],
{and_where, _pipe@2}
end
)
end.
-spec or_where(
cake@internal@write_query:delete(PVZ),
cake@internal@read_query:where()
) -> cake@internal@write_query:delete(PVZ).
or_where(Dlt, Whr) ->
case erlang:element(6, Dlt) of
no_where ->
erlang:setelement(6, Dlt, Whr);
{or_where, Wheres} ->
erlang:setelement(
6,
Dlt,
begin
_pipe = Wheres,
_pipe@1 = lists:append(_pipe, [Whr]),
{or_where, _pipe@1}
end
);
_ ->
erlang:setelement(
6,
Dlt,
begin
_pipe@2 = [erlang:element(6, Dlt), Whr],
{or_where, _pipe@2}
end
)
end.
-spec xor_where(
cake@internal@write_query:delete(PWC),
cake@internal@read_query:where()
) -> cake@internal@write_query:delete(PWC).
xor_where(Dlt, Whr) ->
case erlang:element(6, Dlt) of
no_where ->
erlang:setelement(6, Dlt, Whr);
{xor_where, Wheres} ->
erlang:setelement(
6,
Dlt,
begin
_pipe = Wheres,
_pipe@1 = lists:append(_pipe, [Whr]),
{xor_where, _pipe@1}
end
);
_ ->
erlang:setelement(
6,
Dlt,
begin
_pipe@2 = [erlang:element(6, Dlt), Whr],
{xor_where, _pipe@2}
end
)
end.
-spec replace_where(
cake@internal@write_query:delete(PWF),
cake@internal@read_query:where()
) -> cake@internal@write_query:delete(PWF).
replace_where(Dlt, Whr) ->
erlang:setelement(6, Dlt, Whr).
-spec no_where(cake@internal@write_query:delete(PWI)) -> cake@internal@write_query:delete(PWI).
no_where(Dlt) ->
erlang:setelement(6, Dlt, no_where).
-spec get_where(cake@internal@write_query:delete(any())) -> cake@internal@read_query:where().
get_where(Dlt) ->
erlang:element(6, Dlt).
-spec returning(cake@internal@write_query:delete(PWN), list(binary())) -> cake@internal@write_query:delete(PWN).
returning(Dlt, Rtrn) ->
case Rtrn of
[] ->
erlang:setelement(7, Dlt, no_returning);
_ ->
erlang:setelement(
7,
Dlt,
begin
_pipe = Rtrn,
{returning, _pipe}
end
)
end.
-spec no_returning(cake@internal@write_query:delete(PWR)) -> cake@internal@write_query:delete(PWR).
no_returning(Dlt) ->
erlang:setelement(7, Dlt, no_returning).
-spec epilog(cake@internal@write_query:delete(PWU), binary()) -> cake@internal@write_query:delete(PWU).
epilog(Dlt, Eplg) ->
Eplg@1 = begin
_pipe = Eplg,
gleam@string:trim(_pipe)
end,
case Eplg@1 of
<<""/utf8>> ->
erlang:setelement(8, Dlt, no_epilog);
_ ->
erlang:setelement(
8,
Dlt,
begin
_pipe@1 = (<<" "/utf8, Eplg@1/binary>>),
{epilog, _pipe@1}
end
)
end.
-spec no_epilog(cake@internal@write_query:delete(PWX)) -> cake@internal@write_query:delete(PWX).
no_epilog(Dlt) ->
erlang:setelement(8, Dlt, no_epilog).
-spec get_epilog(cake@internal@write_query:delete(any())) -> cake@internal@read_query:epilog().
get_epilog(Dlt) ->
erlang:element(8, Dlt).
-spec comment(cake@internal@write_query:delete(PXC), binary()) -> cake@internal@write_query:delete(PXC).
comment(Dlt, Cmmnt) ->
Cmmnt@1 = begin
_pipe = Cmmnt,
gleam@string:trim(_pipe)
end,
case Cmmnt@1 of
<<""/utf8>> ->
erlang:setelement(9, Dlt, no_comment);
_ ->
erlang:setelement(
9,
Dlt,
begin
_pipe@1 = (<<" "/utf8, Cmmnt@1/binary>>),
{comment, _pipe@1}
end
)
end.
-spec no_comment(cake@internal@write_query:delete(PXF)) -> cake@internal@write_query:delete(PXF).
no_comment(Dlt) ->
erlang:setelement(9, Dlt, no_comment).
-spec get_comment(cake@internal@write_query:delete(any())) -> cake@internal@read_query:comment().
get_comment(Dlt) ->
erlang:element(9, Dlt).