Current section
Files
Jump to
Current section
Files
src/galchemy@dsl@expr.erl
-module(galchemy@dsl@expr).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src\\galchemy\\dsl\\expr.gleam").
-export([col/1, star/0, call/2, neg/1, add/2, subtract/2, multiply/2, divide/2, concat/2, over/3, subquery/1, int/1, text/1, bool/1, float/1, bytea/1, uuid/1, numeric/1, json/1, jsonb/1, enum_/2, array/1, timestamp/1, date/1, time_of_day/1, count/1, count_all/0, sum/1, avg/1, min/1, max/1, row_number/0, rank/0, dense_rank/0, lower/1, upper/1, coalesce/1, null/0, item/1, as_/2]).
-file("src\\galchemy\\dsl\\expr.gleam", 8).
-spec col(galchemy@ast@schema:column(any())) -> galchemy@ast@expression:expression().
col(Column) ->
{column_expr, erlang:element(2, Column)}.
-file("src\\galchemy\\dsl\\expr.gleam", 12).
-spec star() -> galchemy@ast@expression:expression().
star() ->
star_expr.
-file("src\\galchemy\\dsl\\expr.gleam", 16).
-spec call(binary(), list(galchemy@ast@expression:expression())) -> galchemy@ast@expression:expression().
call(Name, Arguments) ->
{function_expr, Name, Arguments}.
-file("src\\galchemy\\dsl\\expr.gleam", 23).
-spec neg(galchemy@ast@expression:expression()) -> galchemy@ast@expression:expression().
neg(Value) ->
{unary_op_expr, negate, Value}.
-file("src\\galchemy\\dsl\\expr.gleam", 27).
-spec add(
galchemy@ast@expression:expression(),
galchemy@ast@expression:expression()
) -> galchemy@ast@expression:expression().
add(Lhs, Rhs) ->
{binary_op_expr, Lhs, add, Rhs}.
-file("src\\galchemy\\dsl\\expr.gleam", 34).
-spec subtract(
galchemy@ast@expression:expression(),
galchemy@ast@expression:expression()
) -> galchemy@ast@expression:expression().
subtract(Lhs, Rhs) ->
{binary_op_expr, Lhs, subtract, Rhs}.
-file("src\\galchemy\\dsl\\expr.gleam", 41).
-spec multiply(
galchemy@ast@expression:expression(),
galchemy@ast@expression:expression()
) -> galchemy@ast@expression:expression().
multiply(Lhs, Rhs) ->
{binary_op_expr, Lhs, multiply, Rhs}.
-file("src\\galchemy\\dsl\\expr.gleam", 48).
-spec divide(
galchemy@ast@expression:expression(),
galchemy@ast@expression:expression()
) -> galchemy@ast@expression:expression().
divide(Lhs, Rhs) ->
{binary_op_expr, Lhs, divide, Rhs}.
-file("src\\galchemy\\dsl\\expr.gleam", 55).
-spec concat(
galchemy@ast@expression:expression(),
galchemy@ast@expression:expression()
) -> galchemy@ast@expression:expression().
concat(Lhs, Rhs) ->
{binary_op_expr, Lhs, concat, Rhs}.
-file("src\\galchemy\\dsl\\expr.gleam", 62).
-spec over(
galchemy@ast@expression:expression(),
list(galchemy@ast@expression:expression()),
list(galchemy@ast@expression:order())
) -> galchemy@ast@expression:expression().
over(Function, Partition_by, Order_by) ->
{window_expr, Function, {window_definition, Partition_by, Order_by}}.
-file("src\\galchemy\\dsl\\expr.gleam", 76).
-spec subquery(galchemy@ast@expression:select_query()) -> galchemy@ast@expression:expression().
subquery(Query) ->
{subquery_expr, Query}.
-file("src\\galchemy\\dsl\\expr.gleam", 81).
-spec int(integer()) -> galchemy@ast@expression:expression().
int(Value) ->
{value_expr, {int, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 86).
-spec text(binary()) -> galchemy@ast@expression:expression().
text(Value) ->
{value_expr, {text, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 91).
-spec bool(boolean()) -> galchemy@ast@expression:expression().
bool(Value) ->
{value_expr, {bool, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 96).
-spec float(float()) -> galchemy@ast@expression:expression().
float(Value) ->
{value_expr, {float, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 100).
-spec bytea(bitstring()) -> galchemy@ast@expression:expression().
bytea(Value) ->
{value_expr, {bytea, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 104).
-spec uuid(binary()) -> galchemy@ast@expression:expression().
uuid(Value) ->
{value_expr, {uuid, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 108).
-spec numeric(binary()) -> galchemy@ast@expression:expression().
numeric(Value) ->
{value_expr, {numeric, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 112).
-spec json(binary()) -> galchemy@ast@expression:expression().
json(Value) ->
{value_expr, {json, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 116).
-spec jsonb(binary()) -> galchemy@ast@expression:expression().
jsonb(Value) ->
{value_expr, {jsonb, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 120).
-spec enum_(binary(), binary()) -> galchemy@ast@expression:expression().
enum_(Type_name, Value) ->
{value_expr, {enum, Type_name, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 124).
-spec array(list(galchemy@ast@expression:sql_value())) -> galchemy@ast@expression:expression().
array(Values) ->
{value_expr, {array, Values}}.
-file("src\\galchemy\\dsl\\expr.gleam", 129).
-spec timestamp(gleam@time@timestamp:timestamp()) -> galchemy@ast@expression:expression().
timestamp(Value) ->
{value_expr, {timestamp, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 134).
-spec date(gleam@time@calendar:date()) -> galchemy@ast@expression:expression().
date(Value) ->
{value_expr, {date, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 139).
-spec time_of_day(gleam@time@calendar:time_of_day()) -> galchemy@ast@expression:expression().
time_of_day(Value) ->
{value_expr, {time_of_day, Value}}.
-file("src\\galchemy\\dsl\\expr.gleam", 143).
-spec count(galchemy@ast@expression:expression()) -> galchemy@ast@expression:expression().
count(Value) ->
call(<<"COUNT"/utf8>>, [Value]).
-file("src\\galchemy\\dsl\\expr.gleam", 147).
-spec count_all() -> galchemy@ast@expression:expression().
count_all() ->
call(<<"COUNT"/utf8>>, [star()]).
-file("src\\galchemy\\dsl\\expr.gleam", 151).
-spec sum(galchemy@ast@expression:expression()) -> galchemy@ast@expression:expression().
sum(Value) ->
call(<<"SUM"/utf8>>, [Value]).
-file("src\\galchemy\\dsl\\expr.gleam", 155).
-spec avg(galchemy@ast@expression:expression()) -> galchemy@ast@expression:expression().
avg(Value) ->
call(<<"AVG"/utf8>>, [Value]).
-file("src\\galchemy\\dsl\\expr.gleam", 159).
-spec min(galchemy@ast@expression:expression()) -> galchemy@ast@expression:expression().
min(Value) ->
call(<<"MIN"/utf8>>, [Value]).
-file("src\\galchemy\\dsl\\expr.gleam", 163).
-spec max(galchemy@ast@expression:expression()) -> galchemy@ast@expression:expression().
max(Value) ->
call(<<"MAX"/utf8>>, [Value]).
-file("src\\galchemy\\dsl\\expr.gleam", 167).
-spec row_number() -> galchemy@ast@expression:expression().
row_number() ->
call(<<"ROW_NUMBER"/utf8>>, []).
-file("src\\galchemy\\dsl\\expr.gleam", 171).
-spec rank() -> galchemy@ast@expression:expression().
rank() ->
call(<<"RANK"/utf8>>, []).
-file("src\\galchemy\\dsl\\expr.gleam", 175).
-spec dense_rank() -> galchemy@ast@expression:expression().
dense_rank() ->
call(<<"DENSE_RANK"/utf8>>, []).
-file("src\\galchemy\\dsl\\expr.gleam", 179).
-spec lower(galchemy@ast@expression:expression()) -> galchemy@ast@expression:expression().
lower(Value) ->
call(<<"LOWER"/utf8>>, [Value]).
-file("src\\galchemy\\dsl\\expr.gleam", 183).
-spec upper(galchemy@ast@expression:expression()) -> galchemy@ast@expression:expression().
upper(Value) ->
call(<<"UPPER"/utf8>>, [Value]).
-file("src\\galchemy\\dsl\\expr.gleam", 187).
-spec coalesce(list(galchemy@ast@expression:expression())) -> galchemy@ast@expression:expression().
coalesce(Arguments) ->
call(<<"COALESCE"/utf8>>, Arguments).
-file("src\\galchemy\\dsl\\expr.gleam", 192).
-spec null() -> galchemy@ast@expression:expression().
null() ->
{value_expr, null}.
-file("src\\galchemy\\dsl\\expr.gleam", 197).
-spec item(galchemy@ast@expression:expression()) -> galchemy@ast@expression:select_item().
item(Expr) ->
{select_item, Expr, none}.
-file("src\\galchemy\\dsl\\expr.gleam", 202).
-spec as_(galchemy@ast@expression:expression(), binary()) -> galchemy@ast@expression:select_item().
as_(Expr, Alias) ->
{select_item, Expr, {some, Alias}}.