|
relx 0.1.0
A Modern C++23 Type-Safe SQL Query Builder
|
#include "../schema/column.hpp"#include "arithmetic.hpp"#include "column_expression.hpp"#include "condition.hpp"#include "core.hpp"#include "date_concepts.hpp"#include "function.hpp"#include "value.hpp"#include <chrono>#include <concepts>#include <memory>#include <optional>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| class | relx::query::BinaryDateFunctionExpr< Left, Right > |
| Binary date function expression (e.g., DATE_DIFF) More... | |
| class | relx::query::UnaryDateFunctionExpr< Expr > |
| Unary date function expression with unit (e.g., EXTRACT) More... | |
| class | relx::query::IntervalExpr |
| Date interval expression for date arithmetic. More... | |
| class | relx::query::DateArithmeticExpr< DateExpr, IntervalExpr > |
| Date addition/subtraction expression. More... | |
| class | relx::query::CurrentDateTimeExpr |
| Current date/time functions (no arguments) More... | |
Namespaces | |
| namespace | relx |
| relx database connection | |
| namespace | relx::query |
Functions | |
| template<SqlExpr Expr1, SqlExpr Expr2> | |
| auto | relx::query::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 | relx::query::date_diff (std::string_view unit, const T1 &col1, const T2 &col2) |
| template<typename T , SqlExpr Expr> requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::date_diff (std::string_view unit, const T &column, Expr expr) |
| template<SqlExpr Expr, typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::date_diff (std::string_view unit, Expr expr, const T &column) |
| template<SqlExpr DateExpr> | |
| auto | relx::query::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 | relx::query::date_add (const T &column, IntervalExpr interval_expr) |
| template<SqlExpr DateExpr> | |
| auto | relx::query::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 | relx::query::date_sub (const T &column, IntervalExpr interval_expr) |
| template<SqlExpr Expr> | |
| auto | relx::query::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 | relx::query::extract (std::string_view unit, const T &column) |
| template<SqlExpr Expr> | |
| auto | relx::query::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 | relx::query::date_trunc (std::string_view unit, const T &column) |
| auto | relx::query::interval (std::string_view interval_str) |
| Create an interval expression. | |
| auto | relx::query::current_date () |
| CURRENT_DATE function - returns the current date. | |
| auto | relx::query::current_time () |
| CURRENT_TIME function - returns the current time. | |
| auto | relx::query::current_timestamp () |
| CURRENT_TIMESTAMP function - returns the current timestamp. | |
| auto | relx::query::now () |
| NOW function - alias for CURRENT_TIMESTAMP. | |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::age_in_years (const T &birth_date_column) |
| Calculate age in years between birth date and current date. | |
| template<SqlExpr Expr> | |
| auto | relx::query::age_in_years (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::days_since (const T &date_column) |
| Calculate days since a date. | |
| template<SqlExpr Expr> | |
| auto | relx::query::days_since (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::days_until (const T &date_column) |
| Calculate days until a date. | |
| template<SqlExpr Expr> | |
| auto | relx::query::days_until (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::start_of_year (const T &date_column) |
| Get the start of the year for a date. | |
| template<SqlExpr Expr> | |
| auto | relx::query::start_of_year (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::start_of_month (const T &date_column) |
| Get the start of the month for a date. | |
| template<SqlExpr Expr> | |
| auto | relx::query::start_of_month (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::start_of_day (const T &date_column) |
| Get the start of the day for a date. | |
| template<SqlExpr Expr> | |
| auto | relx::query::start_of_day (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::year (const T &date_column) |
| Get the year from a date. | |
| template<SqlExpr Expr> | |
| auto | relx::query::year (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::month (const T &date_column) |
| Get the month from a date. | |
| template<SqlExpr Expr> | |
| auto | relx::query::month (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::day (const T &date_column) |
| Get the day from a date. | |
| template<SqlExpr Expr> | |
| auto | relx::query::day (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::day_of_week (const T &date_column) |
| Get the day of week from a date (0=Sunday, 1=Monday, etc.) | |
| template<SqlExpr Expr> | |
| auto | relx::query::day_of_week (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::day_of_year (const T &date_column) |
| Get the day of year from a date (1-366) | |
| template<SqlExpr Expr> | |
| auto | relx::query::day_of_year (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::hour (const T &date_column) |
| Get the hour from a timestamp. | |
| template<SqlExpr Expr> | |
| auto | relx::query::hour (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::minute (const T &date_column) |
| Get the minute from a timestamp. | |
| template<SqlExpr Expr> | |
| auto | relx::query::minute (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::second (const T &date_column) |
| Get the second from a timestamp. | |
| template<SqlExpr Expr> | |
| auto | relx::query::second (Expr expr) |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::operator+ (const T &date_column, const IntervalExpr &interval_expr) |
| Addition operator for date column + interval. | |
| template<SqlExpr DateExpr> | |
| auto | relx::query::operator+ (DateExpr date_expr, const IntervalExpr &interval_expr) |
| Addition operator for date expression + interval. | |
| template<typename T > requires date_checking::DateTimeColumn<T> | |
| auto | relx::query::operator- (const T &date_column, const IntervalExpr &interval_expr) |
| Subtraction operator for date column - interval. | |
| template<SqlExpr DateExpr> | |
| auto | relx::query::operator- (DateExpr date_expr, const IntervalExpr &interval_expr) |
| Subtraction operator for date expression - interval. | |
| template<SqlExpr DateExpr, SqlExpr IntervalExpr1> | |
| auto | relx::query::operator+ (const DateArithmeticExpr< DateExpr, IntervalExpr1 > &date_expr, const IntervalExpr &interval_expr) |
| Addition operator for DateArithmeticExpr + interval (chaining) | |
| template<SqlExpr DateExpr, SqlExpr IntervalExpr1> | |
| auto | relx::query::operator- (const DateArithmeticExpr< DateExpr, IntervalExpr1 > &date_expr, const IntervalExpr &interval_expr) |
| Subtraction operator for DateArithmeticExpr - interval (chaining) | |
| template<SqlExpr Expr> | |
| auto | relx::query::abs (Expr expr) |
| ABS function for SQL expressions. | |
| template<SqlExpr Expr1, SqlExpr Expr2> | |
| auto | relx::query::operator- (const UnaryDateFunctionExpr< Expr1 > &left, const UnaryDateFunctionExpr< Expr2 > &right) |
| Subtraction operator for two UnaryDateFunctionExpr. | |
| template<SqlExpr Expr1, SqlExpr Expr2> | |
| auto | relx::query::operator+ (const UnaryDateFunctionExpr< Expr1 > &left, const UnaryDateFunctionExpr< Expr2 > &right) |
| Addition operator for two UnaryDateFunctionExpr. | |