-module(cake@where). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -define(FILEPATH, "src/cake/where.gleam"). -export([col/1, float/1, int/1, string/1, null/0, true/0, false/0, sub_query/1, fragment_value/1, 'not'/1, 'and'/1, 'or'/1, 'xor'/1, none/0, is_bool/2, is_not_bool/2, is_false/1, is_true/1, is_null/1, is_not_null/1, eq/2, lt/2, lte/2, gt/2, gte/2, eq_any_query/2, lt_any_query/2, lte_any_query/2, gt_any_query/2, gte_any_query/2, eq_all_query/2, lt_all_query/2, lte_all_query/2, gt_all_query/2, gte_all_query/2, in_query/2, in/2, exists_in_query/1, between/3, like/2, ilike/2, similar_to/3, fragment/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( " Used to build `WHERE` clauses for SQL queries.\n" "\n" " Where clauses are used to filter rows in a table.\n" "\n" " Also used to build `HAVING` clauses for SQL queries, because they work the\n" " same way as `WHERE` clauses, but are used to filter rows after `GROUP BY`\n" " has been applied.\n" "\n" " ## Compatibility\n" "\n" " - 🪶SQLite does not support `ANY`, `ALL` and `SIMILAR TO`.\n" "\n" ). -file("src/cake/where.gleam", 46). ?DOC(" Creates a `WhereValue` from a column name `String`.\n"). -spec col(binary()) -> cake@internal@read_query:where_value(). col(Name) -> _pipe = Name, {where_column_value, _pipe}. -file("src/cake/where.gleam", 52). ?DOC(" Creates a `WhereValue` from a `Float`.\n"). -spec float(float()) -> cake@internal@read_query:where_value(). float(Vl) -> _pipe = Vl, _pipe@1 = {float_param, _pipe}, {where_param_value, _pipe@1}. -file("src/cake/where.gleam", 58). ?DOC(" Creates a `WhereValue` from an `Int`.\n"). -spec int(integer()) -> cake@internal@read_query:where_value(). int(Vl) -> _pipe = Vl, _pipe@1 = {int_param, _pipe}, {where_param_value, _pipe@1}. -file("src/cake/where.gleam", 64). ?DOC(" Creates a `WhereValue` from a `String`.\n"). -spec string(binary()) -> cake@internal@read_query:where_value(). string(Vl) -> _pipe = Vl, _pipe@1 = {string_param, _pipe}, {where_param_value, _pipe@1}. -file("src/cake/where.gleam", 70). ?DOC(" Creates a `NULL` `WhereValue`.\n"). -spec null() -> cake@internal@read_query:where_value(). null() -> _pipe = null_param, {where_param_value, _pipe}. -file("src/cake/where.gleam", 78). ?DOC( " Creates a `TRUE` `WhereValue`.\n" "\n" " Notice: You probably want to use `where.is_true()` instead.\n" ). -spec true() -> cake@internal@read_query:where_value(). true() -> _pipe = true, _pipe@1 = {bool_param, _pipe}, {where_param_value, _pipe@1}. -file("src/cake/where.gleam", 86). ?DOC( " Creates a `FALSE` `WhereValue`.\n" "\n" " Notice: You probably want to use `where.is_false()` instead.\n" ). -spec false() -> cake@internal@read_query:where_value(). false() -> _pipe = false, _pipe@1 = {bool_param, _pipe}, {where_param_value, _pipe@1}. -file("src/cake/where.gleam", 94). ?DOC( " Creates a `WhereValue` off a `ReadQuery`.\n" "\n" " NOTICE: Usually the sub-query must return a single column.\n" ). -spec sub_query(cake@internal@read_query:read_query()) -> cake@internal@read_query:where_value(). sub_query(Qry) -> _pipe = Qry, {where_sub_query_value, _pipe}. -file("src/cake/where.gleam", 100). ?DOC(" Creates a `WhereValue` from a `Fragment`.\n"). -spec fragment_value(cake@internal@read_query:fragment()) -> cake@internal@read_query:where_value(). fragment_value(Frgmt) -> _pipe = Frgmt, {where_fragment_value, _pipe}. -file("src/cake/where.gleam", 110). ?DOC(" Negates a `Where`.\n"). -spec 'not'(cake@internal@read_query:where()) -> cake@internal@read_query:where(). 'not'(Whr) -> _pipe = Whr, {not_where, _pipe}. -file("src/cake/where.gleam", 116). ?DOC(" Logical AND of multiple `Where`s.\n"). -spec 'and'(list(cake@internal@read_query:where())) -> cake@internal@read_query:where(). 'and'(Whrs) -> _pipe = Whrs, {and_where, _pipe}. -file("src/cake/where.gleam", 122). ?DOC(" Logical OR of multiple `Where`s.\n"). -spec 'or'(list(cake@internal@read_query:where())) -> cake@internal@read_query:where(). 'or'(Whrs) -> _pipe = Whrs, {or_where, _pipe}. -file("src/cake/where.gleam", 128). ?DOC(" Logical XOR of multiple `Where`s.\n"). -spec 'xor'(list(cake@internal@read_query:where())) -> cake@internal@read_query:where(). 'xor'(Whrs) -> _pipe = Whrs, {xor_where, _pipe}. -file("src/cake/where.gleam", 134). ?DOC(" No where condition.\n"). -spec none() -> cake@internal@read_query:where(). none() -> no_where. -file("src/cake/where.gleam", 139). ?DOC(" Creates a `WHERE` clause that checks if a `WhereValue` matches a `Bool`.\n"). -spec is_bool(cake@internal@read_query:where_value(), boolean()) -> cake@internal@read_query:where(). is_bool(Vl, B) -> _pipe = Vl, {where_is_bool, _pipe, B}. -file("src/cake/where.gleam", 145). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` does not match a\n" " `Bool`.\n" ). -spec is_not_bool(cake@internal@read_query:where_value(), boolean()) -> cake@internal@read_query:where(). is_not_bool(Vl, B) -> _pipe = Vl, {where_is_not_bool, _pipe, B}. -file("src/cake/where.gleam", 150). ?DOC(" Creates a `WHERE` clause that checks if a `WhereValue` is `False`.\n"). -spec is_false(cake@internal@read_query:where_value()) -> cake@internal@read_query:where(). is_false(Vl) -> _pipe = Vl, {where_is_bool, _pipe, false}. -file("src/cake/where.gleam", 155). ?DOC(" Creates a `WHERE` clause that checks if a `WhereValue` is `True`.\n"). -spec is_true(cake@internal@read_query:where_value()) -> cake@internal@read_query:where(). is_true(Vl) -> _pipe = Vl, {where_is_bool, _pipe, true}. -file("src/cake/where.gleam", 161). ?DOC(" Creates a `WHERE` clause that checks if a `WhereValue` is SQL `NULL`.\n"). -spec is_null(cake@internal@read_query:where_value()) -> cake@internal@read_query:where(). is_null(Vl) -> _pipe = Vl, {where_is_null, _pipe}. -file("src/cake/where.gleam", 167). ?DOC(" Creates a `WHERE` clause that checks if a `WhereValue` is not SQL `NULL`.\n"). -spec is_not_null(cake@internal@read_query:where_value()) -> cake@internal@read_query:where(). is_not_null(Vl) -> _pipe = Vl, {where_is_not_null, _pipe}. -file("src/cake/where.gleam", 174). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` equals another\n" " `WhereValue`.\n" ). -spec eq( cake@internal@read_query:where_value(), cake@internal@read_query:where_value() ) -> cake@internal@read_query:where(). eq(Vl_a, Vl_b) -> _pipe = Vl_a, {where_comparison, _pipe, equal, Vl_b}. -file("src/cake/where.gleam", 181). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` lower than another\n" " `WhereValue`.\n" ). -spec lt( cake@internal@read_query:where_value(), cake@internal@read_query:where_value() ) -> cake@internal@read_query:where(). lt(Vl_a, Vl_b) -> _pipe = Vl_a, {where_comparison, _pipe, lower, Vl_b}. -file("src/cake/where.gleam", 188). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` lower or equal to\n" " another `WhereValue`.\n" ). -spec lte( cake@internal@read_query:where_value(), cake@internal@read_query:where_value() ) -> cake@internal@read_query:where(). lte(Vl_a, Vl_b) -> _pipe = Vl_a, {where_comparison, _pipe, lower_or_equal, Vl_b}. -file("src/cake/where.gleam", 195). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is greater than\n" " another `WhereValue`.\n" ). -spec gt( cake@internal@read_query:where_value(), cake@internal@read_query:where_value() ) -> cake@internal@read_query:where(). gt(Vl_a, Vl_b) -> _pipe = Vl_a, {where_comparison, _pipe, greater, Vl_b}. -file("src/cake/where.gleam", 202). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is greater or equal\n" " to another `WhereValue`.\n" ). -spec gte( cake@internal@read_query:where_value(), cake@internal@read_query:where_value() ) -> cake@internal@read_query:where(). gte(Vl_a, Vl_b) -> _pipe = Vl_a, {where_comparison, _pipe, greater_or_equal, Vl_b}. -file("src/cake/where.gleam", 211). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` matches any\n" " in a sub-query.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec eq_any_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). eq_any_query(Vl, Qry) -> _pipe = Vl, {where_any_of_sub_query, _pipe, equal, Qry}. -file("src/cake/where.gleam", 220). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is lower than an any\n" " in a sub-query.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec lt_any_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). lt_any_query(Vl, Qry) -> _pipe = Vl, {where_any_of_sub_query, _pipe, lower, Qry}. -file("src/cake/where.gleam", 229). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is lower or equal to\n" " any in a sub-query.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec lte_any_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). lte_any_query(Vl, Qry) -> _pipe = Vl, {where_any_of_sub_query, _pipe, lower_or_equal, Qry}. -file("src/cake/where.gleam", 238). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is greater than any\n" " in a sub-query.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec gt_any_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). gt_any_query(Vl, Qry) -> _pipe = Vl, {where_any_of_sub_query, _pipe, greater, Qry}. -file("src/cake/where.gleam", 247). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is greater or equal\n" " to any in a sub-query.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec gte_any_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). gte_any_query(Vl, Qry) -> _pipe = Vl, {where_any_of_sub_query, _pipe, greater_or_equal, Qry}. -file("src/cake/where.gleam", 256). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` matches all\n" " in a sub-query.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec eq_all_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). eq_all_query(Vl, Qry) -> _pipe = Vl, {where_all_of_sub_query, _pipe, equal, Qry}. -file("src/cake/where.gleam", 265). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is lower than all\n" " in a sub-query.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec lt_all_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). lt_all_query(Vl, Qry) -> _pipe = Vl, {where_all_of_sub_query, _pipe, lower, Qry}. -file("src/cake/where.gleam", 274). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is lower or equal to\n" " all in a sub-query.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec lte_all_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). lte_all_query(Vl, Qry) -> _pipe = Vl, {where_all_of_sub_query, _pipe, lower_or_equal, Qry}. -file("src/cake/where.gleam", 283). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is greater than all\n" " in a sub-query.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec gt_all_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). gt_all_query(Vl, Qry) -> _pipe = Vl, {where_all_of_sub_query, _pipe, greater, Qry}. -file("src/cake/where.gleam", 292). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is greater or equal\n" " to all in a sub-query.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec gte_all_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). gte_all_query(Vl, Qry) -> _pipe = Vl, {where_all_of_sub_query, _pipe, greater_or_equal, Qry}. -file("src/cake/where.gleam", 300). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is IN a sub-query.\n" "\n" " NOTICE: Usually the sub-query must return a single column.\n" ). -spec in_query( cake@internal@read_query:where_value(), cake@internal@read_query:read_query() ) -> cake@internal@read_query:where(). in_query(Vl, Qry) -> _pipe = Vl, {where_in, _pipe, [begin _pipe@1 = Qry, {where_sub_query_value, _pipe@1} end]}. -file("src/cake/where.gleam", 307). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is in a list of\n" " `WhereValue`s.\n" ). -spec in( cake@internal@read_query:where_value(), list(cake@internal@read_query:where_value()) ) -> cake@internal@read_query:where(). in(Vl, Vals) -> _pipe = Vl, {where_in, _pipe, Vals}. -file("src/cake/where.gleam", 313). ?DOC(" Creates a `WHERE` clause that checks if it exists in a sub-query.\n"). -spec exists_in_query(cake@internal@read_query:read_query()) -> cake@internal@read_query:where(). exists_in_query(Qry) -> _pipe = Qry, {where_exists_in_sub_query, _pipe}. -file("src/cake/where.gleam", 325). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` A is between two\n" " `WhereValue`s B and C.\n" ). -spec between( cake@internal@read_query:where_value(), cake@internal@read_query:where_value(), cake@internal@read_query:where_value() ) -> cake@internal@read_query:where(). between(Vl_a, Vl_b, Vl_c) -> _pipe = Vl_a, {where_between, _pipe, Vl_b, Vl_c}. -file("src/cake/where.gleam", 339). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` matches a pattern.\n" " The pattern can contain for example the following wildcards:\n" "\n" " - `%` matches any sequence of characters.\n" " - `_` matches any single character.\n" ). -spec like(cake@internal@read_query:where_value(), binary()) -> cake@internal@read_query:where(). like(Vl, Pttrn) -> _pipe = Vl, {where_like, _pipe, Pttrn}. -file("src/cake/where.gleam", 347). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` matches a pattern.\n" "\n" " `ilike` is the same as `like` but case-insensitive.\n" ). -spec ilike(cake@internal@read_query:where_value(), binary()) -> cake@internal@read_query:where(). ilike(Vl, Pttrn) -> _pipe = Vl, {where_i_like, _pipe, Pttrn}. -file("src/cake/where.gleam", 356). ?DOC( " Creates a `WHERE` clause that checks if a `WhereValue` is similar to a\n" " pattern.\n" "\n" " NOTICE: Not supported by 🪶SQLite.\n" ). -spec similar_to(cake@internal@read_query:where_value(), binary(), binary()) -> cake@internal@read_query:where(). similar_to(Vl, Pttrn, Escp_char) -> _pipe = Vl, {where_similar_to, _pipe, Pttrn, Escp_char}. -file("src/cake/where.gleam", 366). ?DOC(" Creates a `WhereFragment` from a `Fragment`.\n"). -spec fragment(cake@internal@read_query:fragment()) -> cake@internal@read_query:where(). fragment(Frgmt) -> _pipe = Frgmt, {where_fragment, _pipe}.