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