-module(cake@update). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/cake/update.gleam"). -export([to_query/1, new/0, table/2, get_table/1, set_bool/2, set_true/1, set_false/1, set_float/2, set_int/2, set_string/2, set_null/1, set_expression/2, set_sub_query/2, set_fragment/2, sets_expression/2, sets_sub_query/2, get_set/1, set/2, set_replace/2, sets/2, sets_replace/2, from_table/2, from_sub_query/3, no_from/1, get_from/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]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC( " A DSL to build `UPDATE` queries.\n" "\n" ). -file("src/cake/update.gleam", 64). ?DOC(" Creates a `WriteQuery` from an `Update` query.\n"). -spec to_query(cake@internal@write_query:update(GFC)) -> cake@internal@write_query:write_query(GFC). to_query(Updt) -> _pipe = Updt, {update_query, _pipe}. -file("src/cake/update.gleam", 72). ?DOC(" Creates an empty `Update` query.\n"). -spec new() -> cake@internal@write_query:update(any()). new() -> {update, no_update_table, no_update_modifier, no_update_sets, no_from, no_joins, no_where, no_returning, no_epilog, no_comment}. -file("src/cake/update.gleam", 90). ?DOC(" Sets the table of the `Update` query.\n"). -spec table(cake@internal@write_query:update(GFH), binary()) -> cake@internal@write_query:update(GFH). table(Updt, Tbl_nm) -> {update, begin _pipe = Tbl_nm, {update_table, _pipe} end, erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 96). ?DOC(" Get the table of the `Update` query.\n"). -spec get_table(cake@internal@write_query:update(any())) -> cake@internal@write_query:update_table(). get_table(Updt) -> erlang:element(2, Updt). -file("src/cake/update.gleam", 104). ?DOC(" Sets a column to a `Bool` `UpdateParamSet`.\n"). -spec set_bool(binary(), boolean()) -> cake@internal@write_query:update_set(). set_bool(Col, V) -> _pipe = V, _pipe@1 = {bool_param, _pipe}, {update_param_set, Col, _pipe@1}. -file("src/cake/update.gleam", 110). ?DOC(" Sets a column to a `True` `UpdateParamSet`.\n"). -spec set_true(binary()) -> cake@internal@write_query:update_set(). set_true(Col) -> _pipe = true, _pipe@1 = {bool_param, _pipe}, {update_param_set, Col, _pipe@1}. -file("src/cake/update.gleam", 116). ?DOC(" Sets a column to a `False` `UpdateParamSet`.\n"). -spec set_false(binary()) -> cake@internal@write_query:update_set(). set_false(Col) -> _pipe = false, _pipe@1 = {bool_param, _pipe}, {update_param_set, Col, _pipe@1}. -file("src/cake/update.gleam", 122). ?DOC(" Sets a column to a `Float` `UpdateParamSet`.\n"). -spec set_float(binary(), float()) -> cake@internal@write_query:update_set(). set_float(Col, V) -> _pipe = V, _pipe@1 = {float_param, _pipe}, {update_param_set, Col, _pipe@1}. -file("src/cake/update.gleam", 128). ?DOC(" Sets a column to a `Int` `UpdateParamSet`.\n"). -spec set_int(binary(), integer()) -> cake@internal@write_query:update_set(). set_int(Col, V) -> _pipe = V, _pipe@1 = {int_param, _pipe}, {update_param_set, Col, _pipe@1}. -file("src/cake/update.gleam", 134). ?DOC(" Sets a column to a string `UpdateParamSet`.\n"). -spec set_string(binary(), binary()) -> cake@internal@write_query:update_set(). set_string(Col, V) -> _pipe = V, _pipe@1 = {string_param, _pipe}, {update_param_set, Col, _pipe@1}. -file("src/cake/update.gleam", 140). ?DOC(" Sets a column to an SQL `NULL` `UpdateParamSet`.\n"). -spec set_null(binary()) -> cake@internal@write_query:update_set(). set_null(Col) -> _pipe = null_param, {update_param_set, Col, _pipe}. -file("src/cake/update.gleam", 146). ?DOC(" Sets a column to an expression value.\n"). -spec set_expression(binary(), binary()) -> cake@internal@write_query:update_set(). set_expression(Col, Exp) -> _pipe = [Col], {update_expression_set, _pipe, Exp}. -file("src/cake/update.gleam", 152). ?DOC(" Sets a column to a sub-query value.\n"). -spec set_sub_query(binary(), cake@internal@read_query:read_query()) -> cake@internal@write_query:update_set(). set_sub_query(Col, Qry) -> _pipe = [Col], {update_sub_query_set, _pipe, Qry}. -file("src/cake/update.gleam", 167). ?DOC( " Sets a column to a fragment value with parameter binding.\n" "\n" " ## Example\n" "\n" " ```gleam\n" " import cake/fragment as f\n" " import cake/update as u\n" "\n" " \"org_id\" |> u.set_fragment(f.prepared(\"$::uuid\", [f.string(\"0000000000-0000-4000-a000-a00000000000\")]))\n" " ```\n" ). -spec set_fragment(binary(), cake@internal@read_query:fragment()) -> cake@internal@write_query:update_set(). set_fragment(Col, Frgmt) -> {update_fragment_set, Col, Frgmt}. -file("src/cake/update.gleam", 175). ?DOC( " Sets many columns to an expression value.\n" "\n" " NOTICE: the expression must return an equal count of columns.\n" ). -spec sets_expression(list(binary()), binary()) -> cake@internal@write_query:update_set(). sets_expression(Cols, Exp) -> _pipe = Cols, {update_expression_set, _pipe, Exp}. -file("src/cake/update.gleam", 186). ?DOC( " Sets many columns to a sub-query value.\n" "\n" " NOTICE: the sub-query must return an equal count of columns.\n" ). -spec sets_sub_query(list(binary()), cake@internal@read_query:read_query()) -> cake@internal@write_query:update_set(). sets_sub_query(Cols, Qry) -> _pipe = Cols, {update_sub_query_set, _pipe, Qry}. -file("src/cake/update.gleam", 195). ?DOC(" Get the `SET`s of the `Update` query.\n"). -spec get_set(cake@internal@write_query:update(any())) -> list(cake@internal@write_query:update_set()). get_set(Updt) -> case erlang:element(4, Updt) of no_update_sets -> []; {update_sets, Sets} -> Sets end. -file("src/cake/update.gleam", 204). ?DOC(" Sets or appends one column set in an `Update` query.\n"). -spec set( cake@internal@write_query:update(GFR), cake@internal@write_query:update_set() ) -> cake@internal@write_query:update(GFR). set(Updt, St) -> case erlang:element(4, Updt) of no_update_sets -> {update, erlang:element(2, Updt), erlang:element(3, Updt), begin _pipe = [St], {update_sets, _pipe} end, erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; {update_sets, Sets} -> {update, erlang:element(2, Updt), erlang:element(3, Updt), begin _pipe@1 = Sets, _pipe@2 = lists:append(_pipe@1, [St]), {update_sets, _pipe@2} end, erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)} end. -file("src/cake/update.gleam", 214). ?DOC(" Sets or replaces one column set in an `Update` query.\n"). -spec set_replace( cake@internal@write_query:update(GFU), cake@internal@write_query:update_set() ) -> cake@internal@write_query:update(GFU). set_replace(Updt, St) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), begin _pipe = [St], {update_sets, _pipe} end, erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 220). ?DOC(" Sets or appends many column sets n an `Update` query.\n"). -spec sets( cake@internal@write_query:update(GFX), list(cake@internal@write_query:update_set()) ) -> cake@internal@write_query:update(GFX). sets(Updt, Sts) -> case erlang:element(4, Updt) of no_update_sets -> {update, erlang:element(2, Updt), erlang:element(3, Updt), begin _pipe = Sts, {update_sets, _pipe} end, erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; {update_sets, Sets} -> {update, erlang:element(2, Updt), erlang:element(3, Updt), begin _pipe@1 = Sets, _pipe@2 = lists:append(_pipe@1, Sts), {update_sets, _pipe@2} end, erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)} end. -file("src/cake/update.gleam", 230). ?DOC(" Sets or replaces many column sets in an `Update` query.\n"). -spec sets_replace( cake@internal@write_query:update(GGB), list(cake@internal@write_query:update_set()) ) -> cake@internal@write_query:update(GGB). sets_replace(Updt, Sts) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), begin _pipe = Sts, {update_sets, _pipe} end, erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 241). ?DOC(" Sets the `FROM` clause of the `Update` query to a table name.\n"). -spec from_table(cake@internal@write_query:update(GGF), binary()) -> cake@internal@write_query:update(GGF). from_table(Updt, Tbl_nm) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), begin _pipe = Tbl_nm, {from_table, _pipe} end, erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 247). ?DOC(" Sets the `FROM` clause of the `Update` query to an aliased sub-query.\n"). -spec from_sub_query( cake@internal@write_query:update(GGI), cake@internal@read_query:read_query(), binary() ) -> cake@internal@write_query:update(GGI). from_sub_query(Updt, Qry, Als) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), begin _pipe = Qry, {from_sub_query, _pipe, Als} end, erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 257). ?DOC(" Removes the `FROM` clause of the `Update` query.\n"). -spec no_from(cake@internal@write_query:update(GGL)) -> cake@internal@write_query:update(GGL). no_from(Updt) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), no_from, erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 263). ?DOC(" Gets the `FROM` clause of the `Update` query.\n"). -spec get_from(cake@internal@write_query:update(any())) -> cake@internal@read_query:from(). get_from(Updt) -> erlang:element(5, Updt). -file("src/cake/update.gleam", 274). ?DOC( " Adds a `Join` to the `Update` query.\n" "\n" " NOTICE: On 🐘PostgreSQL and 🪶SQLite `Joins` are only allowed if the `FROM`\n" " clause is set as well.\n" ). -spec join( cake@internal@write_query:update(GGQ), cake@internal@read_query:join() ) -> cake@internal@write_query:update(GGQ). join(Updt, Jn) -> case erlang:element(6, Updt) of {joins, Jns} -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), begin _pipe = Jns, _pipe@1 = lists:append(_pipe, [Jn]), {joins, _pipe@1} end, erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; no_joins -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), begin _pipe@2 = [Jn], {joins, _pipe@2} end, erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)} end. -file("src/cake/update.gleam", 286). ?DOC( " Replaces any `Join`s of the `Update` query with a signle `Join`.\n" "\n" " NOTICE: On 🐘PostgreSQL and 🪶SQLite `Joins` are only allowed if the `FROM`\n" " clause is set as well.\n" ). -spec replace_join( cake@internal@write_query:update(GGT), cake@internal@read_query:join() ) -> cake@internal@write_query:update(GGT). replace_join(Updt, Jn) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), begin _pipe = [Jn], {joins, _pipe} end, erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 295). ?DOC( " Adds `Join`s to the `Update` query.\n" "\n" " NOTICE: On 🐘PostgreSQL and 🪶SQLite `Joins` are only allowed if the `FROM`\n" " clause is set as well.\n" ). -spec joins( cake@internal@write_query:update(GGW), list(cake@internal@read_query:join()) ) -> cake@internal@write_query:update(GGW). joins(Updt, Jns) -> case {Jns, erlang:element(6, Updt)} of {[], _} -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), begin _pipe = Jns, {joins, _pipe} end, erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; {Jns@1, {joins, Updt_joins}} -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), begin _pipe@1 = Updt_joins, _pipe@2 = lists:append(_pipe@1, Jns@1), {joins, _pipe@2} end, erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; {Jns@2, no_joins} -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), begin _pipe@3 = Jns@2, {joins, _pipe@3} end, erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)} end. -file("src/cake/update.gleam", 309). ?DOC( " Replaces any `Join`s of the `Update` query with the given `Join`s.\n" "\n" " NOTICE: On 🐘PostgreSQL and 🪶SQLite `Joins` are only allowed if the `FROM`\n" " clause is set as well.\n" ). -spec replace_joins( cake@internal@write_query:update(GHA), list(cake@internal@read_query:join()) ) -> cake@internal@write_query:update(GHA). replace_joins(Updt, Jns) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), begin _pipe = Jns, {joins, _pipe} end, erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 318). ?DOC(" Removes any `Joins` from the `Update` query.\n"). -spec no_join(cake@internal@write_query:update(GHE)) -> cake@internal@write_query:update(GHE). no_join(Updt) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), no_joins, erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 324). ?DOC(" Gets the `Joins` of the `Update` query.\n"). -spec get_joins(cake@internal@write_query:update(any())) -> cake@internal@read_query:joins(). get_joins(Updt) -> erlang:element(6, Updt). -file("src/cake/update.gleam", 339). ?DOC( " Sets an `AndWhere` or appends into an existing `AndWhere`.\n" "\n" " - If the outermost `Where` is an `AndWhere`, the new `Where` is appended\n" " to the list within `AndWhere`.\n" " - If the query does not have a `Where` clause, the given `Where` is set\n" " instead.\n" " - If the outermost `Where` is any other kind of `Where`, this and the\n" " current outermost `Where` are wrapped in an `AndWhere`.\n" ). -spec where( cake@internal@write_query:update(GHJ), cake@internal@read_query:where() ) -> cake@internal@write_query:update(GHJ). where(Updt, Whr) -> case erlang:element(7, Updt) of no_where -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), Whr, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; {and_where, Wheres} -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), begin _pipe = Wheres, _pipe@1 = lists:append(_pipe, [Whr]), {and_where, _pipe@1} end, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; _ -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), begin _pipe@2 = [erlang:element(7, Updt), Whr], {and_where, _pipe@2} end, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)} end. -file("src/cake/update.gleam", 357). ?DOC( " Sets an `OrWhere` or appends into an existing `OrWhere`.\n" "\n" " - If the outermost `Where` is an `OrWhere`, the new `Where` is appended\n" " to the list within `OrWhere`.\n" " - If the query does not have a `Where` clause, the given `Where` is set\n" " instead.\n" " - If the outermost `Where` is any other kind of `Where`, this and the\n" " current outermost `Where` are wrapped in an `OrWhere`.\n" ). -spec or_where( cake@internal@write_query:update(GHM), cake@internal@read_query:where() ) -> cake@internal@write_query:update(GHM). or_where(Updt, Whr) -> case erlang:element(7, Updt) of no_where -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), Whr, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; {or_where, Wheres} -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), begin _pipe = Wheres, _pipe@1 = lists:append(_pipe, [Whr]), {or_where, _pipe@1} end, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; _ -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), begin _pipe@2 = [erlang:element(7, Updt), Whr], {or_where, _pipe@2} end, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)} end. -file("src/cake/update.gleam", 380). ?DOC( " Sets an `XorWhere` or appends into an existing `XorWhere`.\n" "\n" " - If the outermost `Where` is an `XorWhere`, the new `Where` is appended\n" " to the list within `XorWhere`.\n" " - If the query does not have a `Where` clause, the given `Where` is set\n" " instead.\n" " - If the outermost `Where` is any other kind of `Where`, this and the\n" " current outermost `Where` are wrapped in an `XorWhere`.\n" "\n" " NOTICE: This operator does not exist in 🐘PostgreSQL or 🪶SQLite,\n" " and *Cake* generates equivalent SQL using `OR` and `AND` and `NOT`.\n" "\n" " NOTICE: This operator exists in 🦭MariaDB and 🐬MySQL with native support.\n" ). -spec xor_where( cake@internal@write_query:update(GHP), cake@internal@read_query:where() ) -> cake@internal@write_query:update(GHP). xor_where(Updt, Whr) -> case erlang:element(7, Updt) of no_where -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), Whr, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; {xor_where, Wheres} -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), begin _pipe = Wheres, _pipe@1 = lists:append(_pipe, [Whr]), {xor_where, _pipe@1} end, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}; _ -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), begin _pipe@2 = [erlang:element(7, Updt), Whr], {xor_where, _pipe@2} end, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)} end. -file("src/cake/update.gleam", 391). ?DOC(" Replaces the `Where` in the `Update` query.\n"). -spec replace_where( cake@internal@write_query:update(GHS), cake@internal@read_query:where() ) -> cake@internal@write_query:update(GHS). replace_where(Updt, Whr) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), Whr, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 397). ?DOC(" Removes the `Where` from the `Update` query.\n"). -spec no_where(cake@internal@write_query:update(GHV)) -> cake@internal@write_query:update(GHV). no_where(Updt) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), no_where, erlang:element(8, Updt), erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 403). ?DOC(" Gets the `Where` of the `Update` query.\n"). -spec get_where(cake@internal@write_query:update(any())) -> cake@internal@read_query:where(). get_where(Updt) -> erlang:element(7, Updt). -file("src/cake/update.gleam", 412). ?DOC( " NOTICE: 🦭MariaDB and 🐬MySQL do not support `RETURNING` in `UPDATE`\n" " queries; they do support it in `INSERT` (and `REPLACE`) queries, however.\n" ). -spec returning(cake@internal@write_query:update(GIA), list(binary())) -> cake@internal@write_query:update(GIA). returning(Updt, Rtrn) -> case Rtrn of [] -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), no_returning, erlang:element(9, Updt), erlang:element(10, Updt)}; _ -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), begin _pipe = Rtrn, {returning, _pipe} end, erlang:element(9, Updt), erlang:element(10, Updt)} end. -file("src/cake/update.gleam", 425). ?DOC( " NOTICE: 🦭MariaDB and 🐬MySQL do not support `RETURNING` in `UPDATE`\n" " queries; they do support it in `INSERT` (and `REPLACE`) queries, however.\n" ). -spec no_returning(cake@internal@write_query:update(GIE)) -> cake@internal@write_query:update(GIE). no_returning(Updt) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), no_returning, erlang:element(9, Updt), erlang:element(10, Updt)}. -file("src/cake/update.gleam", 433). ?DOC(" Sets an `Epilog` or appends into an existing `Epilog`.\n"). -spec epilog(cake@internal@write_query:update(GIH), binary()) -> cake@internal@write_query:update(GIH). epilog(Updt, Eplg) -> Eplg@1 = begin _pipe = Eplg, gleam@string:trim(_pipe) end, case Eplg@1 of <<""/utf8>> -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), no_epilog, erlang:element(10, Updt)}; _ -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), begin _pipe@1 = (<<" "/utf8, Eplg@1/binary>>), {epilog, _pipe@1} end, erlang:element(10, Updt)} end. -file("src/cake/update.gleam", 443). ?DOC(" Removes the `Epilog` from the `Update` query.\n"). -spec no_epilog(cake@internal@write_query:update(GIK)) -> cake@internal@write_query:update(GIK). no_epilog(Updt) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), no_epilog, erlang:element(10, Updt)}. -file("src/cake/update.gleam", 449). ?DOC(" Gets the `Epilog` of the `Update` query.\n"). -spec get_epilog(cake@internal@write_query:update(any())) -> cake@internal@read_query:epilog(). get_epilog(Updt) -> erlang:element(9, Updt). -file("src/cake/update.gleam", 457). ?DOC(" Sets a `Comment` or appends into an existing `Comment`.\n"). -spec comment(cake@internal@write_query:update(GIP), binary()) -> cake@internal@write_query:update(GIP). comment(Updt, Cmmnt) -> Cmmnt@1 = begin _pipe = Cmmnt, gleam@string:trim(_pipe) end, case Cmmnt@1 of <<""/utf8>> -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), no_comment}; _ -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), begin _pipe@1 = (<<" "/utf8, Cmmnt@1/binary>>), {comment, _pipe@1} end} end. -file("src/cake/update.gleam", 467). ?DOC(" Removes the `Comment` from the `Update` query.\n"). -spec no_comment(cake@internal@write_query:update(GIS)) -> cake@internal@write_query:update(GIS). no_comment(Updt) -> {update, erlang:element(2, Updt), erlang:element(3, Updt), erlang:element(4, Updt), erlang:element(5, Updt), erlang:element(6, Updt), erlang:element(7, Updt), erlang:element(8, Updt), erlang:element(9, Updt), no_comment}. -file("src/cake/update.gleam", 473). ?DOC(" Gets the `Comment` of the `Update` query.\n"). -spec get_comment(cake@internal@write_query:update(any())) -> cake@internal@read_query:comment(). get_comment(Updt) -> erlang:element(10, Updt).