-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(QFA)) -> cake@internal@write_query:write_query(QFA). 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(QFF), binary()) -> cake@internal@write_query:delete(QFF). 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(QFI)) -> cake@internal@write_query:delete(QFI). 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(QFN), binary()) -> cake@internal@write_query:delete(QFN). table(Qry, Tbl_nm) -> erlang:setelement(3, Qry, {delete_table, Tbl_nm}). -spec get_table(cake@internal@write_query:delete(any())) -> binary(). get_table(Qry) -> erlang:element(2, erlang:element(3, Qry)). -spec using_table(cake@internal@write_query:delete(QFS), binary()) -> cake@internal@write_query:delete(QFS). 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(QFV), cake@internal@query:'query'(), binary() ) -> cake@internal@write_query:delete(QFV). 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(QFY), binary()) -> cake@internal@write_query:delete(QFY). 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(QGB), cake@internal@query:'query'(), binary() ) -> cake@internal@write_query:delete(QGB). 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(QGE)) -> cake@internal@write_query:delete(QGE). 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(QGK), cake@internal@query:where()) -> cake@internal@write_query:delete(QGK). 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(QGN), cake@internal@query:where() ) -> cake@internal@write_query:delete(QGN). 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(QGQ), cake@internal@query:where() ) -> cake@internal@write_query:delete(QGQ). 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(QGT), cake@internal@query:where() ) -> cake@internal@write_query:delete(QGT). replace_where(Qry, Whr) -> erlang:setelement(5, Qry, Whr). -spec no_where(cake@internal@write_query:delete(QGW)) -> cake@internal@write_query:delete(QGW). 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(QHB), list(binary())) -> cake@internal@write_query:delete(QHB). 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(QHF)) -> cake@internal@write_query:delete(QHF). no_returning(Qry) -> erlang:setelement(6, Qry, no_returning). -spec epilog(cake@internal@write_query:delete(QHI), binary()) -> cake@internal@write_query:delete(QHI). 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(QHL)) -> cake@internal@write_query:delete(QHL). 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(QHQ), binary()) -> cake@internal@write_query:delete(QHQ). 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(QHT)) -> cake@internal@write_query:delete(QHT). 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).