Current section

Files

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

src/cake@query@delete.erl

-module(cake@query@delete).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([to_query/1, new/1, modifier/2, no_modifier/1, get_modifier/1, table/2, 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, 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(QEJ)) -> cake@internal@write_query:write_query(QEJ).
to_query(Dlt) ->
_pipe = Dlt,
{delete_query, _pipe}.
-spec new(binary()) -> cake@internal@write_query:delete(any()).
new(Tbl_nm) ->
{delete,
no_delete_modifier,
{delete_table, Tbl_nm},
no_delete_using,
no_where,
no_returning,
no_epilog,
no_comment}.
-spec modifier(cake@internal@write_query:delete(QEO), binary()) -> cake@internal@write_query:delete(QEO).
modifier(Qry, Mdfr) ->
Mdfr@1 = begin
_pipe = Mdfr,
gleam@string:trim(_pipe)
end,
case Mdfr@1 of
<<""/utf8>> ->
erlang:setelement(2, Qry, no_delete_modifier);
_ ->
erlang:setelement(2, Qry, {delete_modifier, Mdfr@1})
end.
-spec no_modifier(cake@internal@write_query:delete(QER)) -> cake@internal@write_query:delete(QER).
no_modifier(Qry) ->
erlang:setelement(2, Qry, no_delete_modifier).
-spec get_modifier(cake@internal@write_query:delete(any())) -> binary().
get_modifier(Qry) ->
case erlang:element(2, Qry) of
no_delete_modifier ->
<<""/utf8>>;
{delete_modifier, Mdfr} ->
Mdfr
end.
-spec table(cake@internal@write_query:delete(QEW), binary()) -> cake@internal@write_query:delete(QEW).
table(Qry, Tbl_nm) ->
erlang:setelement(3, Qry, {delete_table, Tbl_nm}).
-spec get_table(cake@internal@write_query:delete(any())) -> cake@internal@write_query:delete_table().
get_table(Qry) ->
erlang:element(3, Qry).
-spec using_table(cake@internal@write_query:delete(QFB), binary()) -> cake@internal@write_query:delete(QFB).
using_table(Qry, Tbl) ->
case erlang:element(4, Qry) of
no_delete_using ->
erlang:setelement(
4,
Qry,
begin
_pipe = [{from_table, Tbl}],
{delete_using, _pipe}
end
);
{delete_using, Qry_usngs} ->
erlang:setelement(
4,
Qry,
begin
_pipe@1 = Qry_usngs,
_pipe@2 = lists:append(_pipe@1, [{from_table, Tbl}]),
{delete_using, _pipe@2}
end
)
end.
-spec using_sub_query(
cake@internal@write_query:delete(QFE),
cake@internal@query:'query'(),
binary()
) -> cake@internal@write_query:delete(QFE).
using_sub_query(Qry, Sb_qry, Als) ->
case erlang:element(4, Qry) of
no_delete_using ->
erlang:setelement(
4,
Qry,
begin
_pipe = [{from_sub_query, Sb_qry, Als}],
{delete_using, _pipe}
end
);
{delete_using, Qry_usngs} ->
erlang:setelement(
4,
Qry,
begin
_pipe@1 = Qry_usngs,
_pipe@2 = lists:append(
_pipe@1,
[{from_sub_query, Sb_qry, Als}]
),
{delete_using, _pipe@2}
end
)
end.
-spec replace_using_table(cake@internal@write_query:delete(QFH), binary()) -> cake@internal@write_query:delete(QFH).
replace_using_table(Qry, Tbl) ->
case erlang:element(4, Qry) of
no_delete_using ->
erlang:setelement(
4,
Qry,
begin
_pipe = [{from_table, Tbl}],
{delete_using, _pipe}
end
);
{delete_using, _} ->
erlang:setelement(
4,
Qry,
begin
_pipe@1 = [{from_table, Tbl}],
{delete_using, _pipe@1}
end
)
end.
-spec replace_using_sub_query(
cake@internal@write_query:delete(QFK),
cake@internal@query:'query'(),
binary()
) -> cake@internal@write_query:delete(QFK).
replace_using_sub_query(Qry, Sb_qry, Als) ->
case erlang:element(4, Qry) of
no_delete_using ->
erlang:setelement(
4,
Qry,
begin
_pipe = [{from_sub_query, Sb_qry, Als}],
{delete_using, _pipe}
end
);
{delete_using, _} ->
erlang:setelement(
4,
Qry,
begin
_pipe@1 = [{from_sub_query, Sb_qry, Als}],
{delete_using, _pipe@1}
end
)
end.
-spec no_using(cake@internal@write_query:delete(QFN)) -> cake@internal@write_query:delete(QFN).
no_using(Qry) ->
erlang:setelement(4, Qry, no_delete_using).
-spec get_using(cake@internal@write_query:delete(any())) -> list(cake@internal@query:from()).
get_using(Qry) ->
case erlang:element(4, Qry) of
no_delete_using ->
[];
{delete_using, Usng} ->
Usng
end.
-spec where(cake@internal@write_query:delete(QFT), cake@internal@query:where()) -> cake@internal@write_query:delete(QFT).
where(Qry, Whr) ->
case erlang:element(5, Qry) of
no_where ->
erlang:setelement(5, Qry, Whr);
{and_where, Wheres} ->
erlang:setelement(
5,
Qry,
{and_where,
begin
_pipe = Wheres,
lists:append(_pipe, [Whr])
end}
);
_ ->
erlang:setelement(
5,
Qry,
{and_where, [erlang:element(5, Qry), Whr]}
)
end.
-spec or_where(
cake@internal@write_query:delete(QFW),
cake@internal@query:where()
) -> cake@internal@write_query:delete(QFW).
or_where(Qry, Whr) ->
case erlang:element(5, Qry) of
no_where ->
erlang:setelement(5, Qry, Whr);
{or_where, Wheres} ->
erlang:setelement(
5,
Qry,
{or_where,
begin
_pipe = Wheres,
lists:append(_pipe, [Whr])
end}
);
_ ->
erlang:setelement(5, Qry, {or_where, [erlang:element(5, Qry), Whr]})
end.
-spec xor_where(
cake@internal@write_query:delete(QFZ),
cake@internal@query:where()
) -> cake@internal@write_query:delete(QFZ).
xor_where(Qry, Whr) ->
case erlang:element(5, Qry) of
no_where ->
erlang:setelement(5, Qry, Whr);
{xor_where, Wheres} ->
erlang:setelement(
5,
Qry,
{xor_where,
begin
_pipe = Wheres,
lists:append(_pipe, [Whr])
end}
);
_ ->
erlang:setelement(
5,
Qry,
{xor_where, [erlang:element(5, Qry), Whr]}
)
end.
-spec replace_where(
cake@internal@write_query:delete(QGC),
cake@internal@query:where()
) -> cake@internal@write_query:delete(QGC).
replace_where(Qry, Whr) ->
erlang:setelement(5, Qry, Whr).
-spec no_where(cake@internal@write_query:delete(QGF)) -> cake@internal@write_query:delete(QGF).
no_where(Qry) ->
erlang:setelement(5, Qry, no_where).
-spec get_where(cake@internal@write_query:delete(any())) -> cake@internal@query:where().
get_where(Qry) ->
erlang:element(5, Qry).
-spec returning(cake@internal@write_query:delete(QGK), list(binary())) -> cake@internal@write_query:delete(QGK).
returning(Qry, Rtrn) ->
case Rtrn of
[] ->
erlang:setelement(6, Qry, no_returning);
_ ->
erlang:setelement(6, Qry, {returning, Rtrn})
end.
-spec no_returning(cake@internal@write_query:delete(QGO)) -> cake@internal@write_query:delete(QGO).
no_returning(Qry) ->
erlang:setelement(6, Qry, no_returning).
-spec epilog(cake@internal@write_query:delete(QGR), binary()) -> cake@internal@write_query:delete(QGR).
epilog(Qry, Eplg) ->
Eplg@1 = begin
_pipe = Eplg,
gleam@string:trim(_pipe)
end,
case Eplg@1 of
<<""/utf8>> ->
erlang:setelement(7, Qry, no_epilog);
_ ->
erlang:setelement(
7,
Qry,
begin
_pipe@1 = (<<" "/utf8, Eplg@1/binary>>),
{epilog, _pipe@1}
end
)
end.
-spec no_epilog(cake@internal@write_query:delete(QGU)) -> cake@internal@write_query:delete(QGU).
no_epilog(Qry) ->
erlang:setelement(7, Qry, no_epilog).
-spec get_epilog(cake@internal@write_query:delete(any())) -> cake@internal@query:epilog().
get_epilog(Qry) ->
erlang:element(7, Qry).
-spec comment(cake@internal@write_query:delete(QGZ), binary()) -> cake@internal@write_query:delete(QGZ).
comment(Qry, Cmmnt) ->
Cmmnt@1 = begin
_pipe = Cmmnt,
gleam@string:trim(_pipe)
end,
case Cmmnt@1 of
<<""/utf8>> ->
erlang:setelement(8, Qry, no_comment);
_ ->
erlang:setelement(
8,
Qry,
begin
_pipe@1 = (<<" "/utf8, Cmmnt@1/binary>>),
{comment, _pipe@1}
end
)
end.
-spec no_comment(cake@internal@write_query:delete(QHC)) -> cake@internal@write_query:delete(QHC).
no_comment(Qry) ->
erlang:setelement(8, Qry, no_comment).
-spec get_comment(cake@internal@write_query:delete(any())) -> cake@internal@query:comment().
get_comment(Qry) ->
erlang:element(8, Qry).