|
relx 0.1.0
A Modern C++23 Type-Safe SQL Query Builder
|
Namespaces | |
| namespace | aggregate_checking |
| Type checking concepts for aggregate functions. | |
| namespace | arithmetic_checking |
| Type checking for arithmetic operations. | |
| namespace | date_checking |
| Type checking concepts for date/time operations. | |
| namespace | literals |
| Literals namespace for SQL value literals. | |
| namespace | meta |
Classes | |
| class | AliasedColumn |
| Column with an alias. More... | |
| class | ArithmeticExpr |
| Binary arithmetic expression. More... | |
| class | AscendingExpr |
| Helper for creating an ascending order by expression. More... | |
| class | BetweenCondition |
| BETWEEN condition (col BETWEEN lower AND upper) More... | |
| class | BinaryCondition |
| Generic binary condition expression. More... | |
| class | BinaryDateFunctionExpr |
| Binary date function expression (e.g., DATE_DIFF) More... | |
| class | CaseExpr |
| struct | class_of_t |
| Helper to extract class type from a member pointer. More... | |
| struct | class_of_t< T Class::* > |
| class | CoalesceExpr |
| COALESCE function. More... | |
| struct | column_type_of |
| Helper to extract column type from member pointer. More... | |
| class | ColumnExpression |
| Base class for column expressions. More... | |
| class | ColumnRef |
| Column reference expression. More... | |
| class | CountAllExpr |
| Expression representing COUNT(*) in SQL. More... | |
| class | CurrentDateTimeExpr |
| Current date/time functions (no arguments) More... | |
| class | DateArithmeticExpr |
| Date addition/subtraction expression. More... | |
| class | DeleteQuery |
| Base DELETE query builder. More... | |
| class | DescendingExpr |
| Helper for creating a descending order by expression. More... | |
| class | DistinctExpr |
| DISTINCT qualifier for an expression. More... | |
| class | FunctionExpr |
| Base class for SQL function expressions. More... | |
| class | InCondition |
| Original IN condition for backward compatibility. More... | |
| struct | InsertItem |
| Represents a single column-value pair for an INSERT statement. More... | |
| class | InsertQuery |
| Base INSERT query builder. More... | |
| class | IntervalExpr |
| Date interval expression for date arithmetic. More... | |
| class | IsNotNullCondition |
| IS NOT NULL condition. More... | |
| class | IsNullCondition |
| IS NULL condition. More... | |
| struct | JoinSpec |
| relx Query Module More... | |
| class | LikeCondition |
| LIKE condition (col LIKE pattern) More... | |
| class | NotCondition |
| Negation condition (NOT expr) More... | |
| class | NullaryFunctionExpr |
| Base class for SQL function expressions with no arguments. More... | |
| struct | QueryError |
| Error type for query operations. More... | |
| class | SchemaColumnAdapter |
| Adapter to convert schema::column to a ColumnRef This allows direct use of schema columns in query expressions. More... | |
| class | SchemaTableAdapter |
| Adapter to convert schema::table to work with query builder This maintains table name and enables column access with SQL expression support. More... | |
| class | SelectQuery |
| Base SELECT query builder. More... | |
| struct | SetItem |
| Represents a SET clause assignment in an UPDATE statement. More... | |
| struct | SqlExpression |
| Base class for SQL expressions. More... | |
| class | TypedCaseBuilder |
| class | TypedInCondition |
| IN condition (col IN (values)) with type checking. More... | |
| class | UnaryDateFunctionExpr |
| Unary date function expression with unit (e.g., EXTRACT) More... | |
| class | UpdateQuery |
| Base UPDATE query builder. More... | |
| class | Value |
| Represents a literal value in a SQL query. More... | |
| class | Value< const char * > |
| Specialization for C-style string literals (const char*) More... | |
| class | Value< std::optional< T > > |
| Specialization for std::optional values. More... | |
| class | Value< std::string > |
| Specialization for std::string values. More... | |
| class | Value< std::string_view > |
| Specialization for std::string_view values. More... | |
Concepts | |
| concept | SqlExpr |
| Concept for SQL expression components. | |
| concept | TableType |
| Concept for database table types. | |
| concept | ColumnType |
| Concept for column types. | |
| concept | ColumnList |
| Concept for a sequence of column references. | |
| concept | TableList |
| Concept for a sequence of table references. | |
| concept | ConditionExpr |
| Concept for a condition expression. | |
Typedefs | |
| template<typename T > | |
| using | QueryResult = std::expected< T, QueryError > |
| Type alias for result of query operations. | |
| using | CaseBuilder = TypedCaseBuilder< void > |
| template<typename T > | |
| using | class_of_t_t = typename class_of_t< T >::type |
Enumerations | |
| enum class | JoinType { Inner , Left , Right , Full , Cross } |
| Types of JOIN operations. More... | |
Functions | |
| template<typename TableT1 , schema::fixed_string Name1, typename T1 , typename... Modifiers1, typename TableT2 , schema::fixed_string Name2, typename T2 , typename... Modifiers2> | |
| auto | operator+ (const schema::column< TableT1, Name1, T1, Modifiers1... > &left, const schema::column< TableT2, Name2, T2, Modifiers2... > &right) |
| Addition operator for columns with type checking. | |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ValueT > requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator+ (const schema::column< TableT, Name, T, Modifiers... > &left, ValueT &&value) |
| Addition operator for column with value. | |
| template<typename ValueT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator+ (ValueT &&value, const schema::column< TableT, Name, T, Modifiers... > &right) |
| Addition operator for value with column (reversed) | |
| template<typename TableT1 , schema::fixed_string Name1, typename T1 , typename... Modifiers1, typename TableT2 , schema::fixed_string Name2, typename T2 , typename... Modifiers2> | |
| auto | operator- (const schema::column< TableT1, Name1, T1, Modifiers1... > &left, const schema::column< TableT2, Name2, T2, Modifiers2... > &right) |
| Subtraction operator for columns. | |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ValueT > requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator- (const schema::column< TableT, Name, T, Modifiers... > &left, ValueT &&value) |
| Subtraction operator for column with value. | |
| template<typename ValueT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator- (ValueT &&value, const schema::column< TableT, Name, T, Modifiers... > &right) |
| Subtraction operator for value with column (reversed) | |
| template<typename TableT1 , schema::fixed_string Name1, typename T1 , typename... Modifiers1, typename TableT2 , schema::fixed_string Name2, typename T2 , typename... Modifiers2> | |
| auto | operator* (const schema::column< TableT1, Name1, T1, Modifiers1... > &left, const schema::column< TableT2, Name2, T2, Modifiers2... > &right) |
| Multiplication operator for columns. | |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ValueT > requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator* (const schema::column< TableT, Name, T, Modifiers... > &left, ValueT &&value) |
| Multiplication operator for column with value. | |
| template<typename ValueT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator* (ValueT &&value, const schema::column< TableT, Name, T, Modifiers... > &right) |
| Multiplication operator for value with column (reversed) | |
| template<typename TableT1 , schema::fixed_string Name1, typename T1 , typename... Modifiers1, typename TableT2 , schema::fixed_string Name2, typename T2 , typename... Modifiers2> | |
| auto | operator/ (const schema::column< TableT1, Name1, T1, Modifiers1... > &left, const schema::column< TableT2, Name2, T2, Modifiers2... > &right) |
| Division operator for columns. | |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ValueT > requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator/ (const schema::column< TableT, Name, T, Modifiers... > &left, ValueT &&value) |
| Division operator for column with value. | |
| template<typename ValueT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator/ (ValueT &&value, const schema::column< TableT, Name, T, Modifiers... > &right) |
| Division operator for value with column (reversed) | |
| template<SqlExpr Left, SqlExpr Right, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | operator+ (const ArithmeticExpr< Left, Right > &left_expr, const schema::column< TableT, Name, T, Modifiers... > &right) |
| Addition operator for ArithmeticExpr with column. | |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, SqlExpr Left, SqlExpr Right> | |
| auto | operator+ (const schema::column< TableT, Name, T, Modifiers... > &left, const ArithmeticExpr< Left, Right > &right_expr) |
| Addition operator for column with ArithmeticExpr. | |
| template<SqlExpr Left, SqlExpr Right, typename ValueT > requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator+ (const ArithmeticExpr< Left, Right > &left_expr, ValueT &&value) |
| Addition operator for ArithmeticExpr with value. | |
| template<typename ValueT , SqlExpr Left, SqlExpr Right> requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator+ (ValueT &&value, const ArithmeticExpr< Left, Right > &right_expr) |
| Addition operator for value with ArithmeticExpr. | |
| template<SqlExpr Left, SqlExpr Right, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | operator- (const ArithmeticExpr< Left, Right > &left_expr, const schema::column< TableT, Name, T, Modifiers... > &right) |
| Subtraction operator for ArithmeticExpr with column. | |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, SqlExpr Left, SqlExpr Right> | |
| auto | operator- (const schema::column< TableT, Name, T, Modifiers... > &left, const ArithmeticExpr< Left, Right > &right_expr) |
| Subtraction operator for column with ArithmeticExpr. | |
| template<SqlExpr Left, SqlExpr Right, typename ValueT > requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator- (const ArithmeticExpr< Left, Right > &left_expr, ValueT &&value) |
| Subtraction operator for ArithmeticExpr with value. | |
| template<typename ValueT , SqlExpr Left, SqlExpr Right> requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator- (ValueT &&value, const ArithmeticExpr< Left, Right > &right_expr) |
| Subtraction operator for value with ArithmeticExpr. | |
| template<SqlExpr Left, SqlExpr Right, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | operator* (const ArithmeticExpr< Left, Right > &left_expr, const schema::column< TableT, Name, T, Modifiers... > &right) |
| Multiplication operator for ArithmeticExpr with column. | |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, SqlExpr Left, SqlExpr Right> | |
| auto | operator* (const schema::column< TableT, Name, T, Modifiers... > &left, const ArithmeticExpr< Left, Right > &right_expr) |
| Multiplication operator for column with ArithmeticExpr. | |
| template<SqlExpr Left, SqlExpr Right, typename ValueT > requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator* (const ArithmeticExpr< Left, Right > &left_expr, ValueT &&value) |
| Multiplication operator for ArithmeticExpr with value. | |
| template<typename ValueT , SqlExpr Left, SqlExpr Right> requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator* (ValueT &&value, const ArithmeticExpr< Left, Right > &right_expr) |
| Multiplication operator for value with ArithmeticExpr. | |
| template<SqlExpr Left, SqlExpr Right, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | operator/ (const ArithmeticExpr< Left, Right > &left_expr, const schema::column< TableT, Name, T, Modifiers... > &right) |
| Division operator for ArithmeticExpr with column. | |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, SqlExpr Left, SqlExpr Right> | |
| auto | operator/ (const schema::column< TableT, Name, T, Modifiers... > &left, const ArithmeticExpr< Left, Right > &right_expr) |
| Division operator for column with ArithmeticExpr. | |
| template<SqlExpr Left, SqlExpr Right, typename ValueT > requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator/ (const ArithmeticExpr< Left, Right > &left_expr, ValueT &&value) |
| Division operator for ArithmeticExpr with value. | |
| template<typename ValueT , SqlExpr Left, SqlExpr Right> requires std::is_arithmetic_v<std::remove_cvref_t<ValueT>> | |
| auto | operator/ (ValueT &&value, const query::ArithmeticExpr< Left, Right > &right_expr) |
| Division operator for value with ArithmeticExpr. | |
| template<ColumnType Column> | |
| auto | column_ref (const Column &col) |
| Create a column reference expression. | |
| template<SqlExpr Expr> | |
| auto | as (const Expr &expr, std::string alias) |
| Create an aliased column expression. | |
| template<ColumnType Column> | |
| auto | as (const Column &column, std::string alias) |
| Create an aliased column expression from a column reference. | |
| template<SqlExpr Left, SqlExpr Right> | |
| auto | operator== (Left left, Right right) |
| Equality condition (col = value) | |
| template<SqlExpr Left, SqlExpr Right> | |
| auto | operator!= (Left left, Right right) |
| Inequality condition (col != value) | |
| template<SqlExpr Left, SqlExpr Right> | |
| auto | operator> (Left left, Right right) |
| Greater than condition (col > value) | |
| template<SqlExpr Left, SqlExpr Right> | |
| auto | operator< (Left left, Right right) |
| Less than condition (col < value) | |
| template<SqlExpr Left, SqlExpr Right> | |
| auto | operator>= (Left left, Right right) |
| Greater than or equal condition (col >= value) | |
| template<SqlExpr Left, SqlExpr Right> | |
| auto | operator<= (Left left, Right right) |
| Less than or equal condition (col <= value) | |
| template<SqlExpr Left, SqlExpr Right> | |
| auto | operator&& (Left left, Right right) |
| Logical AND condition. | |
| template<SqlExpr Left, SqlExpr Right> | |
| auto | operator|| (Left left, Right right) |
| Logical OR condition. | |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, std::ranges::range Range> requires std::convertible_to<std::ranges::range_value_t<Range>, std::string> | |
| auto | in (const schema::column< TableT, Name, T, Modifiers... > &col, Range values) |
| Create an IN condition with type checking for columns. | |
| template<SqlExpr Expr, std::ranges::range Range> requires std::convertible_to<std::ranges::range_value_t<Range>, std::string> | |
| auto | in (Expr expr, Range values) |
| Create an IN condition for expressions. | |
| template<SqlExpr Expr> | |
| auto | like (Expr expr, std::string pattern) |
| Create a LIKE condition. | |
| template<SqlExpr Expr> | |
| auto | between (Expr expr, std::string lower, std::string upper) |
| Create a BETWEEN condition. | |
| template<SqlExpr Expr> | |
| auto | is_null (Expr expr) |
| Create an IS NULL condition. | |
| template<SqlExpr Expr> | |
| auto | is_not_null (Expr expr) |
| Create an IS NOT NULL condition. | |
| template<SqlExpr Expr> | |
| auto | operator! (Expr expr) |
| Logical NOT operator. | |
| std::string | join_type_to_string (JoinType type) |
| Convert a JoinType to its SQL string representation. | |
| template<SqlExpr Expr1, SqlExpr Expr2> | |
| auto | date_diff (std::string_view unit, Expr1 date1, Expr2 date2) |
| DATE_DIFF function - calculates difference between two dates. | |
| template<typename T1 , typename T2 > requires date_checking::DateTimeColumn<T1> && date_checking::DateTimeColumn<T2> | |
| auto | date_diff (std::string_view unit, const T1 &col1, const T2 &col2) |
| template<typename T , SqlExpr Expr> requires date_checking::DateTimeColumn<T> | |
| auto | date_diff (std::string_view unit, const T &column, Expr expr) |
| template<SqlExpr Expr, typename T > requires date_checking::DateTimeColumn<T> | |
| auto | date_diff (std::string_view unit, Expr expr, const T &column) |
| template<SqlExpr DateExpr> | |
| auto | date_add (DateExpr date_expr, IntervalExpr interval_expr) |
| DATE_ADD function - adds an interval to a date. | |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | date_add (const T &column, IntervalExpr interval_expr) |
| template<SqlExpr DateExpr> | |
| auto | date_sub (DateExpr date_expr, IntervalExpr interval_expr) |
| DATE_SUB function - subtracts an interval from a date. | |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | date_sub (const T &column, IntervalExpr interval_expr) |
| template<SqlExpr Expr> | |
| auto | extract (std::string_view unit, Expr expr) |
| EXTRACT function - extracts a date part from a date. | |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | extract (std::string_view unit, const T &column) |
| template<SqlExpr Expr> | |
| auto | date_trunc (std::string_view unit, Expr expr) |
| DATE_TRUNC function - truncates a date to specified precision. | |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | date_trunc (std::string_view unit, const T &column) |
| auto | interval (std::string_view interval_str) |
| Create an interval expression. | |
| auto | current_date () |
| CURRENT_DATE function - returns the current date. | |
| auto | current_time () |
| CURRENT_TIME function - returns the current time. | |
| auto | current_timestamp () |
| CURRENT_TIMESTAMP function - returns the current timestamp. | |
| auto | now () |
| NOW function - alias for CURRENT_TIMESTAMP. | |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | age_in_years (const T &birth_date_column) |
| Calculate age in years between birth date and current date. | |
| template<SqlExpr Expr> | |
| auto | age_in_years (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | days_since (const T &date_column) |
| Calculate days since a date. | |
| template<SqlExpr Expr> | |
| auto | days_since (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | days_until (const T &date_column) |
| Calculate days until a date. | |
| template<SqlExpr Expr> | |
| auto | days_until (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | start_of_year (const T &date_column) |
| Get the start of the year for a date. | |
| template<SqlExpr Expr> | |
| auto | start_of_year (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | start_of_month (const T &date_column) |
| Get the start of the month for a date. | |
| template<SqlExpr Expr> | |
| auto | start_of_month (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | start_of_day (const T &date_column) |
| Get the start of the day for a date. | |
| template<SqlExpr Expr> | |
| auto | start_of_day (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | year (const T &date_column) |
| Get the year from a date. | |
| template<SqlExpr Expr> | |
| auto | year (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | month (const T &date_column) |
| Get the month from a date. | |
| template<SqlExpr Expr> | |
| auto | month (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | day (const T &date_column) |
| Get the day from a date. | |
| template<SqlExpr Expr> | |
| auto | day (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | day_of_week (const T &date_column) |
| Get the day of week from a date (0=Sunday, 1=Monday, etc.) | |
| template<SqlExpr Expr> | |
| auto | day_of_week (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | day_of_year (const T &date_column) |
| Get the day of year from a date (1-366) | |
| template<SqlExpr Expr> | |
| auto | day_of_year (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | hour (const T &date_column) |
| Get the hour from a timestamp. | |
| template<SqlExpr Expr> | |
| auto | hour (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | minute (const T &date_column) |
| Get the minute from a timestamp. | |
| template<SqlExpr Expr> | |
| auto | minute (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | second (const T &date_column) |
| Get the second from a timestamp. | |
| template<SqlExpr Expr> | |
| auto | second (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | operator+ (const T &date_column, const IntervalExpr &interval_expr) |
| Addition operator for date column + interval. | |
| template<SqlExpr DateExpr> | |
| auto | operator+ (DateExpr date_expr, const IntervalExpr &interval_expr) |
| Addition operator for date expression + interval. | |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | operator- (const T &date_column, const IntervalExpr &interval_expr) |
| Subtraction operator for date column - interval. | |
| template<SqlExpr DateExpr> | |
| auto | operator- (DateExpr date_expr, const IntervalExpr &interval_expr) |
| Subtraction operator for date expression - interval. | |
| template<SqlExpr DateExpr, SqlExpr IntervalExpr1> | |
| auto | operator+ (const DateArithmeticExpr< DateExpr, IntervalExpr1 > &date_expr, const IntervalExpr &interval_expr) |
| Addition operator for DateArithmeticExpr + interval (chaining) | |
| template<SqlExpr DateExpr, SqlExpr IntervalExpr1> | |
| auto | operator- (const DateArithmeticExpr< DateExpr, IntervalExpr1 > &date_expr, const IntervalExpr &interval_expr) |
| Subtraction operator for DateArithmeticExpr - interval (chaining) | |
| template<SqlExpr Expr> | |
| auto | abs (Expr expr) |
| ABS function for SQL expressions. | |
| template<SqlExpr Expr1, SqlExpr Expr2> | |
| auto | operator- (const UnaryDateFunctionExpr< Expr1 > &left, const UnaryDateFunctionExpr< Expr2 > &right) |
| Subtraction operator for two UnaryDateFunctionExpr. | |
| template<SqlExpr Expr1, SqlExpr Expr2> | |
| auto | operator+ (const UnaryDateFunctionExpr< Expr1 > &left, const UnaryDateFunctionExpr< Expr2 > &right) |
| Addition operator for two UnaryDateFunctionExpr. | |
| template<TableType Table> | |
| auto | delete_from (const Table &table) |
| Create a DELETE query for the specified table. | |
| auto | count_all () |
| COUNT(*) aggregate function. | |
| template<SqlExpr Expr> | |
| auto | count (Expr expr) |
| COUNT aggregate function. | |
| template<typename T > requires ColumnType<T> | |
| auto | count (const T &column) |
| template<SqlExpr Expr> | |
| auto | count_distinct (Expr expr) |
| COUNT(DISTINCT expr) aggregate function. | |
| template<typename T > requires ColumnType<T> | |
| auto | count_distinct (const T &column) |
| template<SqlExpr Expr> | |
| auto | sum (Expr expr) |
| SUM aggregate function. | |
| template<typename T > requires ColumnType<T> | |
| auto | sum (const T &column) |
| template<SqlExpr Expr> | |
| auto | avg (Expr expr) |
| AVG aggregate function. | |
| template<typename T > requires ColumnType<T> | |
| auto | avg (const T &column) |
| template<SqlExpr Expr> | |
| auto | min (Expr expr) |
| MIN aggregate function. | |
| template<typename T > requires ColumnType<T> | |
| auto | min (const T &column) |
| template<SqlExpr Expr> | |
| auto | max (Expr expr) |
| MAX aggregate function. | |
| template<typename T > requires ColumnType<T> | |
| auto | max (const T &column) |
| template<SqlExpr Expr> | |
| auto | distinct (Expr expr) |
| Create a DISTINCT expression. | |
| template<typename T > requires ColumnType<T> | |
| auto | distinct (const T &column) |
| template<SqlExpr Expr> | |
| auto | lower (Expr expr) |
| LOWER string function. | |
| template<typename T > requires ColumnType<T> | |
| auto | lower (const T &column) |
| template<SqlExpr Expr> | |
| auto | upper (Expr expr) |
| UPPER string function. | |
| template<typename T > requires ColumnType<T> | |
| auto | upper (const T &column) |
| template<SqlExpr Expr> | |
| auto | length (Expr expr) |
| LENGTH string function. | |
| template<typename T > requires ColumnType<T> | |
| auto | length (const T &column) |
| template<SqlExpr Expr> | |
| auto | trim (Expr expr) |
| TRIM string function. | |
| template<typename T > requires ColumnType<T> | |
| auto | trim (const T &column) |
| template<SqlExpr First, SqlExpr Second, SqlExpr... Rest> | |
| auto | coalesce (First first, Second second, Rest... rest) |
| Create a COALESCE expression. | |
| template<typename T , SqlExpr Second, SqlExpr... Rest> requires ColumnType<T> | |
| auto | coalesce (const T &column, Second second, Rest... rest) |
| template<typename T1 , typename T2 , SqlExpr... Rest> requires ColumnType<T1> && ColumnType<T2> | |
| auto | coalesce (const T1 &column1, const T2 &column2, Rest... rest) |
| template<typename T > requires ColumnType<T> | |
| auto | coalesce (const T &column, const char *str) |
| template<typename T > requires ColumnType<T> | |
| auto | coalesce (const T &column, const std::string &str) |
| template<typename T1 , typename T2 > requires ColumnType<T1> && ColumnType<T2> | |
| auto | coalesce (const T1 &column1, const T2 &column2, const char *str) |
| auto | case_ () |
| Create a CASE expression with type checking. | |
| auto | as (CaseExpr &&expr, std::string alias) |
| template<typename Columns , TableType Table> | |
| auto | from (const SelectQuery< Columns > &query, const Table &table) |
| FROM extension for schema tables with automatic adapter creation. | |
| template<typename Columns , typename Tables , typename Joins , typename Where , typename GroupBys , typename OrderBys , typename HavingCond , typename LimitVal , typename OffsetVal , TableType Table, ConditionExpr Condition> | |
| auto | join (const SelectQuery< Columns, Tables, Joins, Where, GroupBys, OrderBys, HavingCond, LimitVal, OffsetVal > &query, const Table &table, Condition cond, JoinType type=JoinType::Inner) |
| JOIN extension for schema tables with automatic adapter creation. | |
| auto | when (CaseBuilder &builder, const ConditionExpr auto &condition, const char *value) |
| auto | when (CaseBuilder &builder, const ConditionExpr auto &condition, const std::string &value) |
| auto | when (CaseBuilder &builder, const ConditionExpr auto &condition, int value) |
| auto | when (CaseBuilder &builder, const ConditionExpr auto &condition, long value) |
| auto | when (CaseBuilder &builder, const ConditionExpr auto &condition, long long value) |
| auto | when (CaseBuilder &builder, const ConditionExpr auto &condition, double value) |
| auto | when (CaseBuilder &builder, const ConditionExpr auto &condition, float value) |
| auto | when (CaseBuilder &builder, const ConditionExpr auto &condition, bool value) |
| auto | else_ (CaseBuilder &builder, const char *value) |
| auto | else_ (CaseBuilder &builder, const std::string &value) |
| auto | else_ (CaseBuilder &builder, int value) |
| auto | else_ (CaseBuilder &builder, long value) |
| auto | else_ (CaseBuilder &builder, long long value) |
| auto | else_ (CaseBuilder &builder, double value) |
| auto | else_ (CaseBuilder &builder, float value) |
| auto | else_ (CaseBuilder &builder, bool value) |
| template<TableType Table> | |
| auto | insert_into (const Table &table) |
| Create an INSERT query for the specified table. | |
| template<typename Tuple > | |
| static constexpr bool | is_empty_tuple () |
| Helper to check if a tuple is empty. | |
| template<typename Tuple > | |
| std::string | tuple_to_sql (const Tuple &tuple, const char *separator) |
| Helper to convert a tuple of expressions to SQL. | |
| template<typename Tuple > | |
| std::vector< std::string > | tuple_bind_params (const Tuple &tuple) |
| Helper to collect bind parameters from a tuple of expressions. | |
| template<typename Func , typename Tuple > | |
| static void | apply_tuple (Func &&func, const Tuple &tuple) |
| Helper to apply a function to each element of a tuple. | |
| template<auto MemberPtr> | |
| constexpr auto | column_name_of () |
| Helper to get column name from member pointer. | |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ValueT > | |
| auto | operator== (const schema::column< TableT, Name, T, Modifiers... > &col, const Value< ValueT > &value) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ValueT > | |
| auto | operator!= (const schema::column< TableT, Name, T, Modifiers... > &col, const Value< ValueT > &value) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ValueT > | |
| auto | operator> (const schema::column< TableT, Name, T, Modifiers... > &col, const Value< ValueT > &value) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ValueT > | |
| auto | operator< (const schema::column< TableT, Name, T, Modifiers... > &col, const Value< ValueT > &value) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ValueT > | |
| auto | operator>= (const schema::column< TableT, Name, T, Modifiers... > &col, const Value< ValueT > &value) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ValueT > | |
| auto | operator<= (const schema::column< TableT, Name, T, Modifiers... > &col, const Value< ValueT > &value) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator== (const schema::column< TableT, Name, T, Modifiers... > &col, LiteralT &&literal) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator!= (const schema::column< TableT, Name, T, Modifiers... > &col, LiteralT &&literal) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator> (const schema::column< TableT, Name, T, Modifiers... > &col, LiteralT &&literal) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator< (const schema::column< TableT, Name, T, Modifiers... > &col, LiteralT &&literal) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator>= (const schema::column< TableT, Name, T, Modifiers... > &col, LiteralT &&literal) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator<= (const schema::column< TableT, Name, T, Modifiers... > &col, LiteralT &&literal) |
| template<typename LiteralT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator== (LiteralT &&literal, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename LiteralT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator!= (LiteralT &&literal, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename LiteralT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator> (LiteralT &&literal, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename LiteralT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator< (LiteralT &&literal, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename LiteralT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator>= (LiteralT &&literal, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename LiteralT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator<= (LiteralT &&literal, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | operator== (const schema::column< TableT, Name, T, Modifiers... > &col, const char *str) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | operator!= (const schema::column< TableT, Name, T, Modifiers... > &col, const char *str) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | operator== (const char *str, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | operator!= (const char *str, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | like (const schema::column< TableT, Name, T, Modifiers... > &col, std::string pattern) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | is_null (const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | is_not_null (const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | between (const schema::column< TableT, Name, T, Modifiers... > &col, std::string lower, std::string upper) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename ResultT > | |
| auto | when (const schema::column< TableT, Name, T, Modifiers... > &condition, const query::Value< ResultT > &result) |
| template<typename CondT , typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | when (const CondT &condition, const schema::column< TableT, Name, T, Modifiers... > &result) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> | |
| auto | else_ (const schema::column< TableT, Name, T, Modifiers... > &result) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers, typename... Args> | |
| auto | select_expr (const schema::column< TableT, Name, T, Modifiers... > &col, Args &&... args) |
| template<typename Column , typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator== (const SchemaColumnAdapter< Column > &col, LiteralT &&literal) |
| template<typename Column , typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator!= (const SchemaColumnAdapter< Column > &col, LiteralT &&literal) |
| template<typename Column , typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator> (const SchemaColumnAdapter< Column > &col, LiteralT &&literal) |
| template<typename Column , typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator< (const SchemaColumnAdapter< Column > &col, LiteralT &&literal) |
| template<typename Column , typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator>= (const SchemaColumnAdapter< Column > &col, LiteralT &&literal) |
| template<typename Column , typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator<= (const SchemaColumnAdapter< Column > &col, LiteralT &&literal) |
| template<typename LiteralT , typename Column > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator== (LiteralT &&literal, const SchemaColumnAdapter< Column > &col) |
| template<typename LiteralT , typename Column > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator!= (LiteralT &&literal, const SchemaColumnAdapter< Column > &col) |
| template<typename LiteralT , typename Column > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator> (LiteralT &&literal, const SchemaColumnAdapter< Column > &col) |
| template<typename LiteralT , typename Column > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator< (LiteralT &&literal, const SchemaColumnAdapter< Column > &col) |
| template<typename LiteralT , typename Column > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator>= (LiteralT &&literal, const SchemaColumnAdapter< Column > &col) |
| template<typename LiteralT , typename Column > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> && (!std::is_same_v<LiteralT, bool>) && (!meta::is_specialization_v<std::remove_cvref_t<LiteralT>, Value>) | |
| auto | operator<= (LiteralT &&literal, const SchemaColumnAdapter< Column > &col) |
| template<typename Column > | |
| auto | operator== (const SchemaColumnAdapter< Column > &col, const char *str) |
| template<typename Column > | |
| auto | operator!= (const SchemaColumnAdapter< Column > &col, const char *str) |
| template<typename Column > | |
| auto | operator== (const char *str, const SchemaColumnAdapter< Column > &col) |
| template<typename Column > | |
| auto | operator!= (const char *str, const SchemaColumnAdapter< Column > &col) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator== (const AliasedColumn< Expr > &col, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator== (LiteralT &&literal, const AliasedColumn< Expr > &col) |
| template<SqlExpr Expr> | |
| auto | operator== (const AliasedColumn< Expr > &col, const char *str) |
| template<SqlExpr Expr> | |
| auto | operator== (const char *str, const AliasedColumn< Expr > &col) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator!= (const AliasedColumn< Expr > &col, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator!= (LiteralT &&literal, const AliasedColumn< Expr > &col) |
| template<SqlExpr Expr> | |
| auto | operator!= (const AliasedColumn< Expr > &col, const char *str) |
| template<SqlExpr Expr> | |
| auto | operator!= (const char *str, const AliasedColumn< Expr > &col) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator> (const AliasedColumn< Expr > &col, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator< (const AliasedColumn< Expr > &col, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator>= (const AliasedColumn< Expr > &col, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator<= (const AliasedColumn< Expr > &col, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator> (LiteralT &&literal, const AliasedColumn< Expr > &col) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator< (LiteralT &&literal, const AliasedColumn< Expr > &col) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator>= (LiteralT &&literal, const AliasedColumn< Expr > &col) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator<= (LiteralT &&literal, const AliasedColumn< Expr > &col) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator== (const FunctionExpr< Expr > &func, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator== (LiteralT &&literal, const FunctionExpr< Expr > &func) |
| template<SqlExpr Expr> | |
| auto | operator== (const FunctionExpr< Expr > &func, const char *str) |
| template<SqlExpr Expr> | |
| auto | operator== (const char *str, const FunctionExpr< Expr > &func) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator!= (const FunctionExpr< Expr > &func, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator!= (LiteralT &&literal, const FunctionExpr< Expr > &func) |
| template<SqlExpr Expr> | |
| auto | operator!= (const FunctionExpr< Expr > &func, const char *str) |
| template<SqlExpr Expr> | |
| auto | operator!= (const char *str, const FunctionExpr< Expr > &func) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator> (const FunctionExpr< Expr > &func, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator< (const FunctionExpr< Expr > &func, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator>= (const FunctionExpr< Expr > &func, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator<= (const FunctionExpr< Expr > &func, LiteralT &&literal) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator> (LiteralT &&literal, const FunctionExpr< Expr > &func) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator< (LiteralT &&literal, const FunctionExpr< Expr > &func) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator>= (LiteralT &&literal, const FunctionExpr< Expr > &func) |
| template<SqlExpr Expr, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator<= (LiteralT &&literal, const FunctionExpr< Expr > &func) |
| template<SqlExpr First, SqlExpr Second, SqlExpr... Rest, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator== (const CoalesceExpr< First, Second, Rest... > &coalesce, LiteralT &&literal) |
| template<SqlExpr First, SqlExpr Second, SqlExpr... Rest, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator== (LiteralT &&literal, const CoalesceExpr< First, Second, Rest... > &coalesce) |
| template<SqlExpr First, SqlExpr Second, SqlExpr... Rest> | |
| auto | operator== (const CoalesceExpr< First, Second, Rest... > &coalesce, const char *str) |
| template<SqlExpr First, SqlExpr Second, SqlExpr... Rest> | |
| auto | operator== (const char *str, const CoalesceExpr< First, Second, Rest... > &coalesce) |
| template<SqlExpr First, SqlExpr Second, SqlExpr... Rest, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator!= (const CoalesceExpr< First, Second, Rest... > &coalesce, LiteralT &&literal) |
| template<SqlExpr First, SqlExpr Second, SqlExpr... Rest, typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator!= (LiteralT &&literal, const CoalesceExpr< First, Second, Rest... > &coalesce) |
| template<SqlExpr First, SqlExpr Second, SqlExpr... Rest> | |
| auto | operator!= (const CoalesceExpr< First, Second, Rest... > &coalesce, const char *str) |
| template<SqlExpr First, SqlExpr Second, SqlExpr... Rest> | |
| auto | operator!= (const char *str, const CoalesceExpr< First, Second, Rest... > &coalesce) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator== (const CountAllExpr &expr, LiteralT &&literal) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator== (LiteralT &&literal, const CountAllExpr &expr) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator!= (const CountAllExpr &expr, LiteralT &&literal) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator!= (LiteralT &&literal, const CountAllExpr &expr) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator> (const CountAllExpr &expr, LiteralT &&literal) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator> (LiteralT &&literal, const CountAllExpr &expr) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator< (const CountAllExpr &expr, LiteralT &&literal) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator< (LiteralT &&literal, const CountAllExpr &expr) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator>= (const CountAllExpr &expr, LiteralT &&literal) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator>= (LiteralT &&literal, const CountAllExpr &expr) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator<= (const CountAllExpr &expr, LiteralT &&literal) |
| template<typename LiteralT > requires std::is_arithmetic_v<std::remove_cvref_t<LiteralT>> || std::is_convertible_v<std::remove_cvref_t<LiteralT>, std::string> | |
| auto | operator<= (LiteralT &&literal, const CountAllExpr &expr) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator> (const CurrentDateTimeExpr &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator< (const CurrentDateTimeExpr &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator>= (const CurrentDateTimeExpr &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator<= (const CurrentDateTimeExpr &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator== (const CurrentDateTimeExpr &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator!= (const CurrentDateTimeExpr &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Expr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator> (const UnaryDateFunctionExpr< Expr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Expr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator< (const UnaryDateFunctionExpr< Expr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Expr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator>= (const UnaryDateFunctionExpr< Expr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Expr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator<= (const UnaryDateFunctionExpr< Expr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Expr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator== (const UnaryDateFunctionExpr< Expr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Expr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator!= (const UnaryDateFunctionExpr< Expr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Left, SqlExpr Right, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator> (const BinaryDateFunctionExpr< Left, Right > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Left, SqlExpr Right, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator< (const BinaryDateFunctionExpr< Left, Right > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Left, SqlExpr Right, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator>= (const BinaryDateFunctionExpr< Left, Right > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Left, SqlExpr Right, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator<= (const BinaryDateFunctionExpr< Left, Right > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Left, SqlExpr Right, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator== (const BinaryDateFunctionExpr< Left, Right > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr Left, SqlExpr Right, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator!= (const BinaryDateFunctionExpr< Left, Right > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr DateExpr, SqlExpr IntervalExpr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator> (const DateArithmeticExpr< DateExpr, IntervalExpr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr DateExpr, SqlExpr IntervalExpr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator< (const DateArithmeticExpr< DateExpr, IntervalExpr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr DateExpr, SqlExpr IntervalExpr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator>= (const DateArithmeticExpr< DateExpr, IntervalExpr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr DateExpr, SqlExpr IntervalExpr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator<= (const DateArithmeticExpr< DateExpr, IntervalExpr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr DateExpr, SqlExpr IntervalExpr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator== (const DateArithmeticExpr< DateExpr, IntervalExpr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<SqlExpr DateExpr, SqlExpr IntervalExpr, typename TableT , schema::fixed_string Name, typename T , typename... Modifiers> requires date_checking::DateTimeType<T> | |
| auto | operator!= (const DateArithmeticExpr< DateExpr, IntervalExpr > &expr, const schema::column< TableT, Name, T, Modifiers... > &col) |
| template<ColumnType C> | |
| auto | to_expr (const C &col, std::string_view table_name="") |
| Helper to wrap a schema column in a SQL expression. | |
| template<TableType T> | |
| auto | to_table (const T &table) |
| Helper to wrap a schema table in a table adapter. | |
| template<ConditionExpr Condition> | |
| auto | on (Condition cond) |
| Create a join condition with the ON clause. | |
| template<typename... Args> | |
| auto | select (const Args &... args) |
| Create a column reference from a member pointer without requiring a table instance. | |
| template<typename... Args> | |
| auto | select_expr (const Args &... args) |
| Create a SELECT query with the specified column expressions (alias for select) | |
| template<SqlExpr Expr> | |
| auto | desc (Expr expr) |
| Create a descending order by expression. | |
| template<typename T > requires ColumnType<T> | |
| auto | desc (const T &column) |
| template<SqlExpr Expr> | |
| auto | asc (Expr expr) |
| Create an ascending order by expression. | |
| template<typename T > requires ColumnType<T> | |
| auto | asc (const T &column) |
| Create an ascending order by expression for a column. | |
| template<TableType Table> | |
| auto | select_all (const Table &table) |
| template<TableType Table> | |
| auto | select_all () |
| Create a SELECT * query without requiring a table instance. | |
| template<typename... Args> | |
| auto | select_distinct (const Args &... args) |
| Create a SELECT DISTINCT query with the specified columns or expressions. | |
| template<SqlExpr... Args> | |
| auto | select_distinct_expr (const Args &... args) |
| Create a SELECT DISTINCT query with the specified column expressions. | |
| template<TableType Table> | |
| auto | select_distinct_all (const Table &table) |
| Create a SELECT * query that uses DISTINCT. | |
| template<TableType Table> | |
| auto | select_distinct_all () |
| Create a SELECT DISTINCT * query without requiring a table instance. | |
| template<TableType Table> | |
| auto | update (const Table &table) |
| Create an UPDATE query for the specified table. | |
| template<typename T > | |
| auto | value (T val) |
| Create a value expression. | |
| auto | val (const char *str) |
| Helper to create a value expression from a string literal. | |
| auto | val (std::string str) |
| Helper to create a value expression from a string. | |
| auto | val (std::string_view sv) |
| Helper to create a value expression from a string_view. | |
| auto | val (int i) |
| Helper to create a value expression from an int. | |
| auto | val (long l) |
| Helper to create a value expression from a long. | |
| auto | val (long long ll) |
| Helper to create a value expression from a long long. | |
| auto | val (double d) |
| Helper to create a value expression from a double. | |
| auto | val (float f) |
| Helper to create a value expression from a float. | |
| auto | val (bool b) |
| Helper to create a value expression from a bool. | |
| template<typename T > | |
| auto | val (std::optional< T > opt) |
| Helper to create a value expression from an optional. | |
| auto | val (std::nullopt_t) |
| Helper to create a value expression from a nullopt. | |
| using relx::query::CaseBuilder = typedef TypedCaseBuilder<void> |
Definition at line 649 of file function.hpp.
| using relx::query::class_of_t_t = typedef typename class_of_t<T>::type |
| using relx::query::QueryResult = typedef std::expected<T, QueryError> |
|
strong |
| auto relx::query::abs | ( | Expr | expr | ) |
ABS function for SQL expressions.
| Expr | SQL expression type |
| expr | SQL expression |
| auto relx::query::age_in_years | ( | const T & | birth_date_column | ) |
| auto relx::query::age_in_years | ( | Expr | expr | ) |
|
static |
|
inline |
Definition at line 659 of file function.hpp.
| auto relx::query::as | ( | const Column & | column, |
| std::string | alias | ||
| ) |
Create an aliased column expression from a column reference.
| Column | The column type |
| column | The column reference |
| alias | The alias name |
Definition at line 114 of file column_expression.hpp.
| auto relx::query::as | ( | const Expr & | expr, |
| std::string | alias | ||
| ) |
Create an aliased column expression.
| Expr | The expression type |
| expr | The expression to alias |
| alias | The alias name |
Definition at line 104 of file column_expression.hpp.
| auto relx::query::asc | ( | const T & | column | ) |
Create an ascending order by expression for a column.
| T | The column type |
| column | The column to order by |
Definition at line 596 of file select.hpp.
| auto relx::query::asc | ( | Expr | expr | ) |
Create an ascending order by expression.
| Expr | The expression type |
| expr | The expression to order by |
Definition at line 586 of file select.hpp.
| auto relx::query::avg | ( | const T & | column | ) |
Definition at line 173 of file function.hpp.
| auto relx::query::avg | ( | Expr | expr | ) |
AVG aggregate function.
| Expr | The expression type |
| expr | The expression to average |
Definition at line 166 of file function.hpp.
| auto relx::query::between | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| std::string | lower, | ||
| std::string | upper | ||
| ) |
Definition at line 618 of file operators.hpp.
| auto relx::query::between | ( | Expr | expr, |
| std::string | lower, | ||
| std::string | upper | ||
| ) |
Create a BETWEEN condition.
| Expr | The expression type |
| expr | The column or expression |
| lower | The lower bound |
| upper | The upper bound |
Definition at line 254 of file condition.hpp.
|
inline |
Create a CASE expression with type checking.
Definition at line 654 of file function.hpp.
| auto relx::query::coalesce | ( | const T & | column, |
| const char * | str | ||
| ) |
Definition at line 431 of file function.hpp.
| auto relx::query::coalesce | ( | const T & | column, |
| const std::string & | str | ||
| ) |
Definition at line 438 of file function.hpp.
| auto relx::query::coalesce | ( | const T & | column, |
| Second | second, | ||
| Rest... | rest | ||
| ) |
Definition at line 417 of file function.hpp.
| auto relx::query::coalesce | ( | const T1 & | column1, |
| const T2 & | column2, | ||
| const char * | str | ||
| ) |
Definition at line 445 of file function.hpp.
| auto relx::query::coalesce | ( | const T1 & | column1, |
| const T2 & | column2, | ||
| Rest... | rest | ||
| ) |
Definition at line 424 of file function.hpp.
| auto relx::query::coalesce | ( | First | first, |
| Second | second, | ||
| Rest... | rest | ||
| ) |
Create a COALESCE expression.
| First | The first expression type |
| Second | The second expression type |
| Rest | The types of the remaining expressions |
| first | The first expression |
| second | The second expression |
| rest | The remaining expressions |
Definition at line 409 of file function.hpp.
|
constexpr |
| auto relx::query::column_ref | ( | const Column & | col | ) |
Create a column reference expression.
| Column | The column type |
| col | The column |
Definition at line 66 of file column_expression.hpp.
| auto relx::query::count | ( | const T & | column | ) |
Definition at line 88 of file function.hpp.
| auto relx::query::count | ( | Expr | expr | ) |
COUNT aggregate function.
| Expr | The expression type |
| expr | The expression to count |
Definition at line 81 of file function.hpp.
|
inline |
COUNT(*) aggregate function.
Definition at line 72 of file function.hpp.
| auto relx::query::count_distinct | ( | const T & | column | ) |
Definition at line 104 of file function.hpp.
| auto relx::query::count_distinct | ( | Expr | expr | ) |
COUNT(DISTINCT expr) aggregate function.
| Expr | The expression type |
| expr | The expression to count distinct values of |
Definition at line 97 of file function.hpp.
|
inline |
CURRENT_DATE function - returns the current date.
|
inline |
CURRENT_TIME function - returns the current time.
|
inline |
CURRENT_TIMESTAMP function - returns the current timestamp.
| auto relx::query::date_add | ( | const T & | column, |
| IntervalExpr | interval_expr | ||
| ) |
| auto relx::query::date_add | ( | DateExpr | date_expr, |
| IntervalExpr | interval_expr | ||
| ) |
DATE_ADD function - adds an interval to a date.
| DateExpr | Date expression type |
| date_expr | Date expression |
| interval_expr | Interval expression (created with interval()) |
| auto relx::query::date_diff | ( | std::string_view | unit, |
| const T & | column, | ||
| Expr | expr | ||
| ) |
| auto relx::query::date_diff | ( | std::string_view | unit, |
| const T1 & | col1, | ||
| const T2 & | col2 | ||
| ) |
| auto relx::query::date_diff | ( | std::string_view | unit, |
| Expr | expr, | ||
| const T & | column | ||
| ) |
| auto relx::query::date_diff | ( | std::string_view | unit, |
| Expr1 | date1, | ||
| Expr2 | date2 | ||
| ) |
DATE_DIFF function - calculates difference between two dates.
| Expr1 | First date expression type |
| Expr2 | Second date expression type |
| unit | Time unit for the difference (e.g., "days", "months", "years") |
| date1 | First date expression |
| date2 | Second date expression |
| auto relx::query::date_sub | ( | const T & | column, |
| IntervalExpr | interval_expr | ||
| ) |
| auto relx::query::date_sub | ( | DateExpr | date_expr, |
| IntervalExpr | interval_expr | ||
| ) |
DATE_SUB function - subtracts an interval from a date.
| DateExpr | Date expression type |
| date_expr | Date expression |
| interval_expr | Interval expression (created with interval()) |
| auto relx::query::date_trunc | ( | std::string_view | unit, |
| const T & | column | ||
| ) |
| auto relx::query::date_trunc | ( | std::string_view | unit, |
| Expr | expr | ||
| ) |
DATE_TRUNC function - truncates a date to specified precision.
| Expr | Date expression type |
| unit | Precision to truncate to (e.g., "year", "month", "day", "hour", "minute") |
| expr | Date expression |
| auto relx::query::day | ( | const T & | date_column | ) |
| auto relx::query::day_of_week | ( | const T & | date_column | ) |
| auto relx::query::day_of_week | ( | Expr | expr | ) |
| auto relx::query::day_of_year | ( | const T & | date_column | ) |
| auto relx::query::day_of_year | ( | Expr | expr | ) |
| auto relx::query::days_since | ( | const T & | date_column | ) |
| auto relx::query::days_since | ( | Expr | expr | ) |
| auto relx::query::days_until | ( | const T & | date_column | ) |
| auto relx::query::days_until | ( | Expr | expr | ) |
| auto relx::query::delete_from | ( | const Table & | table | ) |
Create a DELETE query for the specified table.
| Table | The table type |
| table | The table to delete from |
Definition at line 99 of file delete.hpp.
| auto relx::query::desc | ( | const T & | column | ) |
Definition at line 560 of file select.hpp.
| auto relx::query::desc | ( | Expr | expr | ) |
Create a descending order by expression.
| Expr | The expression type |
| expr | The expression to order by |
Definition at line 554 of file select.hpp.
| auto relx::query::distinct | ( | const T & | column | ) |
Definition at line 266 of file function.hpp.
| auto relx::query::distinct | ( | Expr | expr | ) |
Create a DISTINCT expression.
| Expr | The expression type |
| expr | The expression to apply DISTINCT to |
Definition at line 259 of file function.hpp.
|
inline |
Definition at line 97 of file case_helpers.hpp.
|
inline |
Definition at line 55 of file case_helpers.hpp.
|
inline |
Definition at line 61 of file case_helpers.hpp.
|
inline |
Definition at line 85 of file case_helpers.hpp.
|
inline |
Definition at line 91 of file case_helpers.hpp.
|
inline |
Definition at line 67 of file case_helpers.hpp.
|
inline |
Definition at line 79 of file case_helpers.hpp.
|
inline |
Definition at line 73 of file case_helpers.hpp.
| auto relx::query::else_ | ( | const schema::column< TableT, Name, T, Modifiers... > & | result | ) |
Definition at line 646 of file operators.hpp.
| auto relx::query::extract | ( | std::string_view | unit, |
| const T & | column | ||
| ) |
| auto relx::query::extract | ( | std::string_view | unit, |
| Expr | expr | ||
| ) |
EXTRACT function - extracts a date part from a date.
| Expr | Date expression type |
| unit | Date part to extract (e.g., "year", "month", "day", "hour", "minute", "second", "dow") |
| expr | Date expression |
| auto relx::query::from | ( | const SelectQuery< Columns > & | query, |
| const Table & | table | ||
| ) |
FROM extension for schema tables with automatic adapter creation.
| Columns | The tuple of column expressions |
| Table | The schema table type |
| query | The select query |
| table | The schema table |
Definition at line 24 of file helpers.hpp.
| auto relx::query::hour | ( | const T & | date_column | ) |
| auto relx::query::in | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| Range | values | ||
| ) |
Create an IN condition with type checking for columns.
| Column | The column type |
| Range | The values range type |
| col | The column |
| values | The values to check against |
Definition at line 132 of file condition.hpp.
| auto relx::query::in | ( | Expr | expr, |
| Range | values | ||
| ) |
Create an IN condition for expressions.
| Expr | The expression type |
| Range | The values range type |
| expr | The column or expression |
| values | The values to check against |
Definition at line 191 of file condition.hpp.
| auto relx::query::insert_into | ( | const Table & | table | ) |
Create an INSERT query for the specified table.
| Table | The table type |
| table | The table to insert into |
Definition at line 330 of file insert.hpp.
|
inline |
Create an interval expression.
| interval_str | Interval string (e.g., "1 day", "3 months", "2 years") |
|
staticconstexpr |
| auto relx::query::is_not_null | ( | const schema::column< TableT, Name, T, Modifiers... > & | col | ) |
Definition at line 611 of file operators.hpp.
| auto relx::query::is_not_null | ( | Expr | expr | ) |
Create an IS NOT NULL condition.
| Expr | The expression type |
| expr | The column or expression |
Definition at line 300 of file condition.hpp.
| auto relx::query::is_null | ( | const schema::column< TableT, Name, T, Modifiers... > & | col | ) |
Definition at line 604 of file operators.hpp.
| auto relx::query::is_null | ( | Expr | expr | ) |
Create an IS NULL condition.
| Expr | The expression type |
| expr | The column or expression |
Definition at line 277 of file condition.hpp.
| auto relx::query::join | ( | const SelectQuery< Columns, Tables, Joins, Where, GroupBys, OrderBys, HavingCond, LimitVal, OffsetVal > & | query, |
| const Table & | table, | ||
| Condition | cond, | ||
| JoinType | type = JoinType::Inner |
||
| ) |
JOIN extension for schema tables with automatic adapter creation.
| Columns | The tuple of column expressions |
| Tables | The tuple of table adapters |
| Joins | The tuple of join specifications |
| Where | The where condition type |
| GroupBys | The tuple of group by expressions |
| OrderBys | The tuple of order by expressions |
| HavingCond | The having condition type |
| LimitVal | The limit value type |
| OffsetVal | The offset value type |
| Table | The schema table type |
| Condition | The join condition type |
| query | The select query |
| table | The schema table to join |
| cond | The join condition |
| type | The join type |
Definition at line 49 of file helpers.hpp.
|
inline |
| auto relx::query::length | ( | const T & | column | ) |
Definition at line 326 of file function.hpp.
| auto relx::query::length | ( | Expr | expr | ) |
LENGTH string function.
| Expr | The expression type |
| expr | The string expression to get length of |
Definition at line 319 of file function.hpp.
| auto relx::query::like | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| std::string | pattern | ||
| ) |
Definition at line 597 of file operators.hpp.
| auto relx::query::like | ( | Expr | expr, |
| std::string | pattern | ||
| ) |
Create a LIKE condition.
| Expr | The expression type |
| expr | The column or expression |
| pattern | The LIKE pattern |
Definition at line 221 of file condition.hpp.
| auto relx::query::lower | ( | const T & | column | ) |
Definition at line 282 of file function.hpp.
| auto relx::query::lower | ( | Expr | expr | ) |
LOWER string function.
| Expr | The expression type |
| expr | The string expression to convert to lowercase |
Definition at line 275 of file function.hpp.
| auto relx::query::max | ( | const T & | column | ) |
Definition at line 213 of file function.hpp.
| auto relx::query::max | ( | Expr | expr | ) |
MAX aggregate function.
| Expr | The expression type |
| expr | The expression to find maximum of |
Definition at line 206 of file function.hpp.
| auto relx::query::min | ( | const T & | column | ) |
Definition at line 193 of file function.hpp.
| auto relx::query::min | ( | Expr | expr | ) |
MIN aggregate function.
| Expr | The expression type |
| expr | The expression to find minimum of |
Definition at line 186 of file function.hpp.
| auto relx::query::minute | ( | const T & | date_column | ) |
| auto relx::query::minute | ( | Expr | expr | ) |
| auto relx::query::month | ( | const T & | date_column | ) |
| auto relx::query::month | ( | Expr | expr | ) |
|
inline |
NOW function - alias for CURRENT_TIMESTAMP.
| auto relx::query::on | ( | Condition | cond | ) |
Create a join condition with the ON clause.
| Condition | The condition type |
| cond | The join condition |
Definition at line 43 of file select.hpp.
| auto relx::query::operator! | ( | Expr | expr | ) |
Logical NOT operator.
Definition at line 320 of file condition.hpp.
| auto relx::query::operator!= | ( | const AliasedColumn< Expr > & | col, |
| const char * | str | ||
| ) |
Definition at line 832 of file operators.hpp.
| auto relx::query::operator!= | ( | const AliasedColumn< Expr > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 817 of file operators.hpp.
| auto relx::query::operator!= | ( | const BinaryDateFunctionExpr< Left, Right > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1352 of file operators.hpp.
| auto relx::query::operator!= | ( | const char * | str, |
| const AliasedColumn< Expr > & | col | ||
| ) |
Definition at line 838 of file operators.hpp.
| auto relx::query::operator!= | ( | const char * | str, |
| const CoalesceExpr< First, Second, Rest... > & | coalesce | ||
| ) |
Definition at line 1086 of file operators.hpp.
| auto relx::query::operator!= | ( | const char * | str, |
| const FunctionExpr< Expr > & | func | ||
| ) |
Definition at line 960 of file operators.hpp.
| auto relx::query::operator!= | ( | const char * | str, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 589 of file operators.hpp.
| auto relx::query::operator!= | ( | const char * | str, |
| const SchemaColumnAdapter< Column > & | col | ||
| ) |
Definition at line 776 of file operators.hpp.
| auto relx::query::operator!= | ( | const CoalesceExpr< First, Second, Rest... > & | coalesce, |
| const char * | str | ||
| ) |
Definition at line 1079 of file operators.hpp.
| auto relx::query::operator!= | ( | const CoalesceExpr< First, Second, Rest... > & | coalesce, |
| LiteralT && | literal | ||
| ) |
Definition at line 1063 of file operators.hpp.
| auto relx::query::operator!= | ( | const CountAllExpr & | expr, |
| LiteralT && | literal | ||
| ) |
Definition at line 1109 of file operators.hpp.
| auto relx::query::operator!= | ( | const CurrentDateTimeExpr & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1237 of file operators.hpp.
| auto relx::query::operator!= | ( | const DateArithmeticExpr< DateExpr, IntervalExpr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1413 of file operators.hpp.
| auto relx::query::operator!= | ( | const FunctionExpr< Expr > & | func, |
| const char * | str | ||
| ) |
Definition at line 954 of file operators.hpp.
| auto relx::query::operator!= | ( | const FunctionExpr< Expr > & | func, |
| LiteralT && | literal | ||
| ) |
Definition at line 939 of file operators.hpp.
| auto relx::query::operator!= | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| const char * | str | ||
| ) |
Definition at line 576 of file operators.hpp.
| auto relx::query::operator!= | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| const Value< ValueT > & | value | ||
| ) |
Definition at line 384 of file operators.hpp.
| auto relx::query::operator!= | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 447 of file operators.hpp.
| auto relx::query::operator!= | ( | const SchemaColumnAdapter< Column > & | col, |
| const char * | str | ||
| ) |
Definition at line 766 of file operators.hpp.
| auto relx::query::operator!= | ( | const SchemaColumnAdapter< Column > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 674 of file operators.hpp.
| auto relx::query::operator!= | ( | const UnaryDateFunctionExpr< Expr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1292 of file operators.hpp.
| auto relx::query::operator!= | ( | Left | left, |
| Right | right | ||
| ) |
Inequality condition (col != value)
Definition at line 48 of file condition.hpp.
| auto relx::query::operator!= | ( | LiteralT && | literal, |
| const AliasedColumn< Expr > & | col | ||
| ) |
Definition at line 826 of file operators.hpp.
| auto relx::query::operator!= | ( | LiteralT && | literal, |
| const CoalesceExpr< First, Second, Rest... > & | coalesce | ||
| ) |
Definition at line 1073 of file operators.hpp.
| auto relx::query::operator!= | ( | LiteralT && | literal, |
| const CountAllExpr & | expr | ||
| ) |
Definition at line 1117 of file operators.hpp.
| auto relx::query::operator!= | ( | LiteralT && | literal, |
| const FunctionExpr< Expr > & | func | ||
| ) |
Definition at line 948 of file operators.hpp.
| auto relx::query::operator!= | ( | LiteralT && | literal, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 519 of file operators.hpp.
| auto relx::query::operator!= | ( | LiteralT && | literal, |
| const SchemaColumnAdapter< Column > & | col | ||
| ) |
Definition at line 723 of file operators.hpp.
Logical AND condition.
Definition at line 78 of file condition.hpp.
| auto relx::query::operator* | ( | const ArithmeticExpr< Left, Right > & | left_expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | right | ||
| ) |
Multiplication operator for ArithmeticExpr with column.
Definition at line 417 of file arithmetic.hpp.
| auto relx::query::operator* | ( | const ArithmeticExpr< Left, Right > & | left_expr, |
| ValueT && | value | ||
| ) |
Multiplication operator for ArithmeticExpr with value.
Definition at line 445 of file arithmetic.hpp.
| auto relx::query::operator* | ( | const schema::column< TableT, Name, T, Modifiers... > & | left, |
| const ArithmeticExpr< Left, Right > & | right_expr | ||
| ) |
Multiplication operator for column with ArithmeticExpr.
Definition at line 431 of file arithmetic.hpp.
| auto relx::query::operator* | ( | const schema::column< TableT, Name, T, Modifiers... > & | left, |
| ValueT && | value | ||
| ) |
Multiplication operator for column with value.
Definition at line 237 of file arithmetic.hpp.
| auto relx::query::operator* | ( | const schema::column< TableT1, Name1, T1, Modifiers1... > & | left, |
| const schema::column< TableT2, Name2, T2, Modifiers2... > & | right | ||
| ) |
Multiplication operator for columns.
Definition at line 217 of file arithmetic.hpp.
| auto relx::query::operator* | ( | ValueT && | value, |
| const ArithmeticExpr< Left, Right > & | right_expr | ||
| ) |
Multiplication operator for value with ArithmeticExpr.
Definition at line 457 of file arithmetic.hpp.
| auto relx::query::operator* | ( | ValueT && | value, |
| const schema::column< TableT, Name, T, Modifiers... > & | right | ||
| ) |
Multiplication operator for value with column (reversed)
Definition at line 255 of file arithmetic.hpp.
| auto relx::query::operator+ | ( | const ArithmeticExpr< Left, Right > & | left_expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | right | ||
| ) |
Addition operator for ArithmeticExpr with column.
Definition at line 318 of file arithmetic.hpp.
| auto relx::query::operator+ | ( | const ArithmeticExpr< Left, Right > & | left_expr, |
| ValueT && | value | ||
| ) |
Addition operator for ArithmeticExpr with value.
Definition at line 346 of file arithmetic.hpp.
| auto relx::query::operator+ | ( | const DateArithmeticExpr< DateExpr, IntervalExpr1 > & | date_expr, |
| const IntervalExpr & | interval_expr | ||
| ) |
Addition operator for DateArithmeticExpr + interval (chaining)
| auto relx::query::operator+ | ( | const schema::column< TableT, Name, T, Modifiers... > & | left, |
| const ArithmeticExpr< Left, Right > & | right_expr | ||
| ) |
Addition operator for column with ArithmeticExpr.
Definition at line 332 of file arithmetic.hpp.
| auto relx::query::operator+ | ( | const schema::column< TableT, Name, T, Modifiers... > & | left, |
| ValueT && | value | ||
| ) |
Addition operator for column with value.
Definition at line 138 of file arithmetic.hpp.
| auto relx::query::operator+ | ( | const schema::column< TableT1, Name1, T1, Modifiers1... > & | left, |
| const schema::column< TableT2, Name2, T2, Modifiers2... > & | right | ||
| ) |
Addition operator for columns with type checking.
Definition at line 117 of file arithmetic.hpp.
| auto relx::query::operator+ | ( | const T & | date_column, |
| const IntervalExpr & | interval_expr | ||
| ) |
| auto relx::query::operator+ | ( | const UnaryDateFunctionExpr< Expr1 > & | left, |
| const UnaryDateFunctionExpr< Expr2 > & | right | ||
| ) |
Addition operator for two UnaryDateFunctionExpr.
| auto relx::query::operator+ | ( | DateExpr | date_expr, |
| const IntervalExpr & | interval_expr | ||
| ) |
| auto relx::query::operator+ | ( | ValueT && | value, |
| const ArithmeticExpr< Left, Right > & | right_expr | ||
| ) |
Addition operator for value with ArithmeticExpr.
Definition at line 358 of file arithmetic.hpp.
| auto relx::query::operator+ | ( | ValueT && | value, |
| const schema::column< TableT, Name, T, Modifiers... > & | right | ||
| ) |
Addition operator for value with column (reversed)
Definition at line 156 of file arithmetic.hpp.
| auto relx::query::operator- | ( | const ArithmeticExpr< Left, Right > & | left_expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | right | ||
| ) |
Subtraction operator for ArithmeticExpr with column.
Definition at line 365 of file arithmetic.hpp.
| auto relx::query::operator- | ( | const ArithmeticExpr< Left, Right > & | left_expr, |
| ValueT && | value | ||
| ) |
Subtraction operator for ArithmeticExpr with value.
Definition at line 393 of file arithmetic.hpp.
| auto relx::query::operator- | ( | const DateArithmeticExpr< DateExpr, IntervalExpr1 > & | date_expr, |
| const IntervalExpr & | interval_expr | ||
| ) |
Subtraction operator for DateArithmeticExpr - interval (chaining)
| auto relx::query::operator- | ( | const schema::column< TableT, Name, T, Modifiers... > & | left, |
| const ArithmeticExpr< Left, Right > & | right_expr | ||
| ) |
Subtraction operator for column with ArithmeticExpr.
Definition at line 379 of file arithmetic.hpp.
| auto relx::query::operator- | ( | const schema::column< TableT, Name, T, Modifiers... > & | left, |
| ValueT && | value | ||
| ) |
Subtraction operator for column with value.
Definition at line 183 of file arithmetic.hpp.
| auto relx::query::operator- | ( | const schema::column< TableT1, Name1, T1, Modifiers1... > & | left, |
| const schema::column< TableT2, Name2, T2, Modifiers2... > & | right | ||
| ) |
Subtraction operator for columns.
Definition at line 163 of file arithmetic.hpp.
| auto relx::query::operator- | ( | const T & | date_column, |
| const IntervalExpr & | interval_expr | ||
| ) |
| auto relx::query::operator- | ( | const UnaryDateFunctionExpr< Expr1 > & | left, |
| const UnaryDateFunctionExpr< Expr2 > & | right | ||
| ) |
Subtraction operator for two UnaryDateFunctionExpr.
| auto relx::query::operator- | ( | DateExpr | date_expr, |
| const IntervalExpr & | interval_expr | ||
| ) |
| auto relx::query::operator- | ( | ValueT && | value, |
| const ArithmeticExpr< Left, Right > & | right_expr | ||
| ) |
Subtraction operator for value with ArithmeticExpr.
Definition at line 405 of file arithmetic.hpp.
| auto relx::query::operator- | ( | ValueT && | value, |
| const schema::column< TableT, Name, T, Modifiers... > & | right | ||
| ) |
Subtraction operator for value with column (reversed)
Definition at line 201 of file arithmetic.hpp.
| auto relx::query::operator/ | ( | const ArithmeticExpr< Left, Right > & | left_expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | right | ||
| ) |
Division operator for ArithmeticExpr with column.
Definition at line 464 of file arithmetic.hpp.
| auto relx::query::operator/ | ( | const ArithmeticExpr< Left, Right > & | left_expr, |
| ValueT && | value | ||
| ) |
Division operator for ArithmeticExpr with value.
Definition at line 492 of file arithmetic.hpp.
| auto relx::query::operator/ | ( | const schema::column< TableT, Name, T, Modifiers... > & | left, |
| const ArithmeticExpr< Left, Right > & | right_expr | ||
| ) |
Division operator for column with ArithmeticExpr.
Definition at line 478 of file arithmetic.hpp.
| auto relx::query::operator/ | ( | const schema::column< TableT, Name, T, Modifiers... > & | left, |
| ValueT && | value | ||
| ) |
Division operator for column with value.
Definition at line 282 of file arithmetic.hpp.
| auto relx::query::operator/ | ( | const schema::column< TableT1, Name1, T1, Modifiers1... > & | left, |
| const schema::column< TableT2, Name2, T2, Modifiers2... > & | right | ||
| ) |
Division operator for columns.
Definition at line 262 of file arithmetic.hpp.
| auto relx::query::operator/ | ( | ValueT && | value, |
| const query::ArithmeticExpr< Left, Right > & | right_expr | ||
| ) |
Division operator for value with ArithmeticExpr.
Definition at line 504 of file arithmetic.hpp.
| auto relx::query::operator/ | ( | ValueT && | value, |
| const schema::column< TableT, Name, T, Modifiers... > & | right | ||
| ) |
Division operator for value with column (reversed)
Definition at line 300 of file arithmetic.hpp.
| auto relx::query::operator< | ( | const AliasedColumn< Expr > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 854 of file operators.hpp.
| auto relx::query::operator< | ( | const BinaryDateFunctionExpr< Left, Right > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1312 of file operators.hpp.
| auto relx::query::operator< | ( | const CountAllExpr & | expr, |
| LiteralT && | literal | ||
| ) |
Definition at line 1140 of file operators.hpp.
| auto relx::query::operator< | ( | const CurrentDateTimeExpr & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1205 of file operators.hpp.
| auto relx::query::operator< | ( | const DateArithmeticExpr< DateExpr, IntervalExpr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1373 of file operators.hpp.
| auto relx::query::operator< | ( | const FunctionExpr< Expr > & | func, |
| LiteralT && | literal | ||
| ) |
Definition at line 976 of file operators.hpp.
| auto relx::query::operator< | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| const Value< ValueT > & | value | ||
| ) |
Definition at line 402 of file operators.hpp.
| auto relx::query::operator< | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 471 of file operators.hpp.
| auto relx::query::operator< | ( | const SchemaColumnAdapter< Column > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 690 of file operators.hpp.
| auto relx::query::operator< | ( | const UnaryDateFunctionExpr< Expr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1256 of file operators.hpp.
Less than condition (col < value)
Definition at line 60 of file condition.hpp.
| auto relx::query::operator< | ( | LiteralT && | literal, |
| const AliasedColumn< Expr > & | col | ||
| ) |
Definition at line 886 of file operators.hpp.
| auto relx::query::operator< | ( | LiteralT && | literal, |
| const CountAllExpr & | expr | ||
| ) |
Definition at line 1148 of file operators.hpp.
| auto relx::query::operator< | ( | LiteralT && | literal, |
| const FunctionExpr< Expr > & | func | ||
| ) |
Definition at line 1008 of file operators.hpp.
| auto relx::query::operator< | ( | LiteralT && | literal, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 539 of file operators.hpp.
| auto relx::query::operator< | ( | LiteralT && | literal, |
| const SchemaColumnAdapter< Column > & | col | ||
| ) |
Definition at line 739 of file operators.hpp.
| auto relx::query::operator<= | ( | const AliasedColumn< Expr > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 870 of file operators.hpp.
| auto relx::query::operator<= | ( | const BinaryDateFunctionExpr< Left, Right > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1332 of file operators.hpp.
| auto relx::query::operator<= | ( | const CountAllExpr & | expr, |
| LiteralT && | literal | ||
| ) |
Definition at line 1172 of file operators.hpp.
| auto relx::query::operator<= | ( | const CurrentDateTimeExpr & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1221 of file operators.hpp.
| auto relx::query::operator<= | ( | const DateArithmeticExpr< DateExpr, IntervalExpr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1393 of file operators.hpp.
| auto relx::query::operator<= | ( | const FunctionExpr< Expr > & | func, |
| LiteralT && | literal | ||
| ) |
Definition at line 992 of file operators.hpp.
| auto relx::query::operator<= | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| const Value< ValueT > & | value | ||
| ) |
Definition at line 420 of file operators.hpp.
| auto relx::query::operator<= | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 495 of file operators.hpp.
| auto relx::query::operator<= | ( | const SchemaColumnAdapter< Column > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 706 of file operators.hpp.
| auto relx::query::operator<= | ( | const UnaryDateFunctionExpr< Expr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1274 of file operators.hpp.
Less than or equal condition (col <= value)
Definition at line 72 of file condition.hpp.
| auto relx::query::operator<= | ( | LiteralT && | literal, |
| const AliasedColumn< Expr > & | col | ||
| ) |
Definition at line 900 of file operators.hpp.
| auto relx::query::operator<= | ( | LiteralT && | literal, |
| const CountAllExpr & | expr | ||
| ) |
Definition at line 1180 of file operators.hpp.
| auto relx::query::operator<= | ( | LiteralT && | literal, |
| const FunctionExpr< Expr > & | func | ||
| ) |
Definition at line 1022 of file operators.hpp.
| auto relx::query::operator<= | ( | LiteralT && | literal, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 559 of file operators.hpp.
| auto relx::query::operator<= | ( | LiteralT && | literal, |
| const SchemaColumnAdapter< Column > & | col | ||
| ) |
Definition at line 755 of file operators.hpp.
| auto relx::query::operator== | ( | const AliasedColumn< Expr > & | col, |
| const char * | str | ||
| ) |
Definition at line 803 of file operators.hpp.
| auto relx::query::operator== | ( | const AliasedColumn< Expr > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 788 of file operators.hpp.
| auto relx::query::operator== | ( | const BinaryDateFunctionExpr< Left, Right > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1342 of file operators.hpp.
| auto relx::query::operator== | ( | const char * | str, |
| const AliasedColumn< Expr > & | col | ||
| ) |
Definition at line 809 of file operators.hpp.
| auto relx::query::operator== | ( | const char * | str, |
| const CoalesceExpr< First, Second, Rest... > & | coalesce | ||
| ) |
Definition at line 1055 of file operators.hpp.
| auto relx::query::operator== | ( | const char * | str, |
| const FunctionExpr< Expr > & | func | ||
| ) |
Definition at line 931 of file operators.hpp.
| auto relx::query::operator== | ( | const char * | str, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 584 of file operators.hpp.
| auto relx::query::operator== | ( | const char * | str, |
| const SchemaColumnAdapter< Column > & | col | ||
| ) |
Definition at line 771 of file operators.hpp.
| auto relx::query::operator== | ( | const CoalesceExpr< First, Second, Rest... > & | coalesce, |
| const char * | str | ||
| ) |
Definition at line 1048 of file operators.hpp.
| auto relx::query::operator== | ( | const CoalesceExpr< First, Second, Rest... > & | coalesce, |
| LiteralT && | literal | ||
| ) |
Definition at line 1032 of file operators.hpp.
| auto relx::query::operator== | ( | const CountAllExpr & | expr, |
| LiteralT && | literal | ||
| ) |
Definition at line 1094 of file operators.hpp.
| auto relx::query::operator== | ( | const CurrentDateTimeExpr & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1229 of file operators.hpp.
| auto relx::query::operator== | ( | const DateArithmeticExpr< DateExpr, IntervalExpr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1403 of file operators.hpp.
| auto relx::query::operator== | ( | const FunctionExpr< Expr > & | func, |
| const char * | str | ||
| ) |
Definition at line 925 of file operators.hpp.
| auto relx::query::operator== | ( | const FunctionExpr< Expr > & | func, |
| LiteralT && | literal | ||
| ) |
Definition at line 910 of file operators.hpp.
| auto relx::query::operator== | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| const char * | str | ||
| ) |
Definition at line 568 of file operators.hpp.
| auto relx::query::operator== | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| const Value< ValueT > & | value | ||
| ) |
Definition at line 375 of file operators.hpp.
| auto relx::query::operator== | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 435 of file operators.hpp.
| auto relx::query::operator== | ( | const SchemaColumnAdapter< Column > & | col, |
| const char * | str | ||
| ) |
Definition at line 761 of file operators.hpp.
| auto relx::query::operator== | ( | const SchemaColumnAdapter< Column > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 666 of file operators.hpp.
| auto relx::query::operator== | ( | const UnaryDateFunctionExpr< Expr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1283 of file operators.hpp.
Equality condition (col = value)
Definition at line 42 of file condition.hpp.
| auto relx::query::operator== | ( | LiteralT && | literal, |
| const AliasedColumn< Expr > & | col | ||
| ) |
Definition at line 797 of file operators.hpp.
| auto relx::query::operator== | ( | LiteralT && | literal, |
| const CoalesceExpr< First, Second, Rest... > & | coalesce | ||
| ) |
Definition at line 1042 of file operators.hpp.
| auto relx::query::operator== | ( | LiteralT && | literal, |
| const CountAllExpr & | expr | ||
| ) |
Definition at line 1102 of file operators.hpp.
| auto relx::query::operator== | ( | LiteralT && | literal, |
| const FunctionExpr< Expr > & | func | ||
| ) |
Definition at line 919 of file operators.hpp.
| auto relx::query::operator== | ( | LiteralT && | literal, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 509 of file operators.hpp.
| auto relx::query::operator== | ( | LiteralT && | literal, |
| const SchemaColumnAdapter< Column > & | col | ||
| ) |
Definition at line 715 of file operators.hpp.
| auto relx::query::operator> | ( | const AliasedColumn< Expr > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 846 of file operators.hpp.
| auto relx::query::operator> | ( | const BinaryDateFunctionExpr< Left, Right > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1302 of file operators.hpp.
| auto relx::query::operator> | ( | const CountAllExpr & | expr, |
| LiteralT && | literal | ||
| ) |
Definition at line 1124 of file operators.hpp.
| auto relx::query::operator> | ( | const CurrentDateTimeExpr & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1197 of file operators.hpp.
| auto relx::query::operator> | ( | const DateArithmeticExpr< DateExpr, IntervalExpr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1363 of file operators.hpp.
| auto relx::query::operator> | ( | const FunctionExpr< Expr > & | func, |
| LiteralT && | literal | ||
| ) |
Definition at line 968 of file operators.hpp.
| auto relx::query::operator> | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| const Value< ValueT > & | value | ||
| ) |
Definition at line 393 of file operators.hpp.
| auto relx::query::operator> | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 459 of file operators.hpp.
| auto relx::query::operator> | ( | const SchemaColumnAdapter< Column > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 682 of file operators.hpp.
| auto relx::query::operator> | ( | const UnaryDateFunctionExpr< Expr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1247 of file operators.hpp.
Greater than condition (col > value)
Definition at line 54 of file condition.hpp.
| auto relx::query::operator> | ( | LiteralT && | literal, |
| const AliasedColumn< Expr > & | col | ||
| ) |
Definition at line 879 of file operators.hpp.
| auto relx::query::operator> | ( | LiteralT && | literal, |
| const CountAllExpr & | expr | ||
| ) |
Definition at line 1132 of file operators.hpp.
| auto relx::query::operator> | ( | LiteralT && | literal, |
| const FunctionExpr< Expr > & | func | ||
| ) |
Definition at line 1001 of file operators.hpp.
| auto relx::query::operator> | ( | LiteralT && | literal, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 529 of file operators.hpp.
| auto relx::query::operator> | ( | LiteralT && | literal, |
| const SchemaColumnAdapter< Column > & | col | ||
| ) |
Definition at line 731 of file operators.hpp.
| auto relx::query::operator>= | ( | const AliasedColumn< Expr > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 862 of file operators.hpp.
| auto relx::query::operator>= | ( | const BinaryDateFunctionExpr< Left, Right > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1322 of file operators.hpp.
| auto relx::query::operator>= | ( | const CountAllExpr & | expr, |
| LiteralT && | literal | ||
| ) |
Definition at line 1156 of file operators.hpp.
| auto relx::query::operator>= | ( | const CurrentDateTimeExpr & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1213 of file operators.hpp.
| auto relx::query::operator>= | ( | const DateArithmeticExpr< DateExpr, IntervalExpr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1383 of file operators.hpp.
| auto relx::query::operator>= | ( | const FunctionExpr< Expr > & | func, |
| LiteralT && | literal | ||
| ) |
Definition at line 984 of file operators.hpp.
| auto relx::query::operator>= | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| const Value< ValueT > & | value | ||
| ) |
Definition at line 411 of file operators.hpp.
| auto relx::query::operator>= | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 483 of file operators.hpp.
| auto relx::query::operator>= | ( | const SchemaColumnAdapter< Column > & | col, |
| LiteralT && | literal | ||
| ) |
Definition at line 698 of file operators.hpp.
| auto relx::query::operator>= | ( | const UnaryDateFunctionExpr< Expr > & | expr, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 1265 of file operators.hpp.
Greater than or equal condition (col >= value)
Definition at line 66 of file condition.hpp.
| auto relx::query::operator>= | ( | LiteralT && | literal, |
| const AliasedColumn< Expr > & | col | ||
| ) |
Definition at line 893 of file operators.hpp.
| auto relx::query::operator>= | ( | LiteralT && | literal, |
| const CountAllExpr & | expr | ||
| ) |
Definition at line 1164 of file operators.hpp.
| auto relx::query::operator>= | ( | LiteralT && | literal, |
| const FunctionExpr< Expr > & | func | ||
| ) |
Definition at line 1015 of file operators.hpp.
| auto relx::query::operator>= | ( | LiteralT && | literal, |
| const schema::column< TableT, Name, T, Modifiers... > & | col | ||
| ) |
Definition at line 549 of file operators.hpp.
| auto relx::query::operator>= | ( | LiteralT && | literal, |
| const SchemaColumnAdapter< Column > & | col | ||
| ) |
Definition at line 747 of file operators.hpp.
Logical OR condition.
Definition at line 84 of file condition.hpp.
| auto relx::query::second | ( | const T & | date_column | ) |
| auto relx::query::second | ( | Expr | expr | ) |
| auto relx::query::select | ( | const Args &... | args | ) |
Create a column reference from a member pointer without requiring a table instance.
| MemberPtr | Pointer to a column member in a table class |
Create a SELECT query with the specified columns or expressions
| Args | The column or expression types |
| args | The columns or expressions to select |
Definition at line 501 of file select.hpp.
| auto relx::query::select_all | ( | ) |
Create a SELECT * query without requiring a table instance.
| Table | The table type to select all columns from |
Definition at line 619 of file select.hpp.
| auto relx::query::select_all | ( | const Table & | table | ) |
Definition at line 602 of file select.hpp.
| auto relx::query::select_distinct | ( | const Args &... | args | ) |
Create a SELECT DISTINCT query with the specified columns or expressions.
| Args | The column or expression types |
| args | The columns or expressions to select |
Definition at line 632 of file select.hpp.
| auto relx::query::select_distinct_all | ( | ) |
Create a SELECT DISTINCT * query without requiring a table instance.
| Table | The table type to select distinct all columns from |
Definition at line 694 of file select.hpp.
| auto relx::query::select_distinct_all | ( | const Table & | table | ) |
Create a SELECT * query that uses DISTINCT.
| Table | The table type to select all columns from |
| table | The table to select from |
Definition at line 674 of file select.hpp.
| auto relx::query::select_distinct_expr | ( | const Args &... | args | ) |
Create a SELECT DISTINCT query with the specified column expressions.
| Args | The column expression types |
| args | The column expressions to select |
Definition at line 665 of file select.hpp.
| auto relx::query::select_expr | ( | const Args &... | args | ) |
Create a SELECT query with the specified column expressions (alias for select)
| Args | The column expression types |
| args | The column expressions to select |
Definition at line 528 of file select.hpp.
| auto relx::query::select_expr | ( | const schema::column< TableT, Name, T, Modifiers... > & | col, |
| Args &&... | args | ||
| ) |
Definition at line 654 of file operators.hpp.
| auto relx::query::start_of_day | ( | const T & | date_column | ) |
| auto relx::query::start_of_day | ( | Expr | expr | ) |
| auto relx::query::start_of_month | ( | const T & | date_column | ) |
| auto relx::query::start_of_month | ( | Expr | expr | ) |
| auto relx::query::start_of_year | ( | const T & | date_column | ) |
| auto relx::query::start_of_year | ( | Expr | expr | ) |
| auto relx::query::sum | ( | const T & | column | ) |
Definition at line 153 of file function.hpp.
| auto relx::query::sum | ( | Expr | expr | ) |
SUM aggregate function.
| Expr | The expression type |
| expr | The expression to sum |
Definition at line 146 of file function.hpp.
| auto relx::query::to_expr | ( | const C & | col, |
| std::string_view | table_name = "" |
||
| ) |
Helper to wrap a schema column in a SQL expression.
| C | The column type |
| col | The column to wrap |
Definition at line 85 of file schema_adapter.hpp.
| auto relx::query::to_table | ( | const T & | table | ) |
Helper to wrap a schema table in a table adapter.
| T | The table type |
| table | The table to wrap |
Definition at line 94 of file schema_adapter.hpp.
| auto relx::query::trim | ( | const T & | column | ) |
Definition at line 342 of file function.hpp.
| auto relx::query::trim | ( | Expr | expr | ) |
TRIM string function.
| Expr | The expression type |
| expr | The string expression to trim |
Definition at line 335 of file function.hpp.
| std::vector< std::string > relx::query::tuple_bind_params | ( | const Tuple & | tuple | ) |
| std::string relx::query::tuple_to_sql | ( | const Tuple & | tuple, |
| const char * | separator | ||
| ) |
| auto relx::query::update | ( | const Table & | table | ) |
Create an UPDATE query for the specified table.
| Table | The table type |
| table | The table to update |
Definition at line 252 of file update.hpp.
| auto relx::query::upper | ( | const T & | column | ) |
Definition at line 304 of file function.hpp.
| auto relx::query::upper | ( | Expr | expr | ) |
UPPER string function.
| Expr | The expression type |
| expr | The string expression to convert to uppercase |
Definition at line 297 of file function.hpp.
|
inline |
|
inline |
Helper to create a value expression from a string literal.
| str | The string literal |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| auto relx::query::val | ( | std::optional< T > | opt | ) |
Helper to create a value expression from an optional.
| T | The optional value type |
| opt | The optional value |
|
inline |
Helper to create a value expression from a string.
| str | The string |
|
inline |
Helper to create a value expression from a string_view.
| sv | The string_view |
| auto relx::query::value | ( | T | val | ) |
|
inline |
Definition at line 47 of file case_helpers.hpp.
|
inline |
Definition at line 11 of file case_helpers.hpp.
|
inline |
Definition at line 16 of file case_helpers.hpp.
|
inline |
Definition at line 37 of file case_helpers.hpp.
|
inline |
Definition at line 42 of file case_helpers.hpp.
|
inline |
Definition at line 22 of file case_helpers.hpp.
|
inline |
Definition at line 32 of file case_helpers.hpp.
|
inline |
Definition at line 27 of file case_helpers.hpp.
| auto relx::query::when | ( | const CondT & | condition, |
| const schema::column< TableT, Name, T, Modifiers... > & | result | ||
| ) |
Definition at line 638 of file operators.hpp.
| auto relx::query::when | ( | const schema::column< TableT, Name, T, Modifiers... > & | condition, |
| const query::Value< ResultT > & | result | ||
| ) |
Definition at line 629 of file operators.hpp.
| auto relx::query::year | ( | const T & | date_column | ) |