-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).