Packages

SQL query builder core for Gleam

Current section

Files

Jump to
galchemy src galchemy@dsl@update.erl
Raw

src/galchemy@dsl@update.erl

-module(galchemy@dsl@update).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src\\galchemy\\dsl\\update.gleam").
-export([update/1, set/3, where_/2, returning/2]).
-file("src\\galchemy\\dsl\\update.gleam", 8).
-spec update(galchemy@ast@schema:table()) -> galchemy@ast@query:update_query().
update(Table) ->
{update_query, Table, [], none, []}.
-file("src\\galchemy\\dsl\\update.gleam", 18).
-spec set(
galchemy@ast@query:update_query(),
galchemy@ast@schema:column(any()),
galchemy@ast@expression:expression()
) -> galchemy@ast@query:update_query().
set(Query, Column, Expr) ->
{update_query,
erlang:element(2, Query),
lists:append(
erlang:element(3, Query),
[{erlang:element(2, Column), Expr}]
),
erlang:element(4, Query),
erlang:element(5, Query)}.
-file("src\\galchemy\\dsl\\update.gleam", 30).
-spec where_(
galchemy@ast@query:update_query(),
galchemy@ast@expression:predicate()
) -> galchemy@ast@query:update_query().
where_(Query, Predicate) ->
{update_query,
erlang:element(2, Query),
erlang:element(3, Query),
{some, Predicate},
erlang:element(5, Query)}.
-file("src\\galchemy\\dsl\\update.gleam", 38).
-spec returning(
galchemy@ast@query:update_query(),
list(galchemy@ast@expression:select_item())
) -> galchemy@ast@query:update_query().
returning(Query, Items) ->
{update_query,
erlang:element(2, Query),
erlang:element(3, Query),
erlang:element(4, Query),
Items}.