3#include "../schema/column.hpp"
4#include "../schema/core.hpp"
5#include "../schema/table.hpp"
30 { t.to_sql() } -> std::convertible_to<std::string>;
31 { t.bind_params() } -> std::ranges::range;
41 { T::name } -> std::convertible_to<std::string_view>;
42 typename T::value_type;
48 typename std::ranges::range_value_t<T>;
53concept TableList = std::ranges::range<T> &&
requires {
typename std::ranges::range_value_t<T>; } &&
63 virtual std::string
to_sql()
const = 0;
Concept for a sequence of column references.
Concept for column types.
Concept for a condition expression.
Concept for SQL expression components.
Concept for a sequence of table references.
Concept for database table types.
Concept for a database table type.
std::string join_type_to_string(JoinType type)
Convert a JoinType to its SQL string representation.
std::expected< T, QueryError > QueryResult
Type alias for result of query operations.
JoinType
Types of JOIN operations.
Error type for query operations.
Base class for SQL expressions.
virtual std::vector< std::string > bind_params() const =0
virtual std::string to_sql() const =0
virtual ~SqlExpression()=default