Packages
cake
3.0.0
4.1.0
4.0.0
3.0.0
2.2.2
2.2.1
2.2.0
2.1.3
2.1.2
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
1.0.0-rc.0
retired
0.15.0
retired
0.14.0
retired
0.13.0
retired
0.12.0
retired
0.11.0
retired
0.10.1
retired
0.10.0
retired
0.9.2
retired
0.9.1
retired
0.9.0
retired
0.8.0
retired
0.7.0
retired
0.6.0
retired
0.5.0
retired
0.4.0
retired
0.3.0
retired
0.2.0
retired
0.1.0
retired
0.0.1
retired
🎂 An SQL query builder for Gleam for SQL dialects 🐘PostgreSQL, 🪶SQLite, 🦭MariaDB, and 🐬MySQL
Current section
Files
Jump to
Current section
Files
src/cake@update.erl
-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).