3#include <initializer_list>
4#include <iron_query/column.hpp>
5#include <iron_query/expr.hpp>
6#include <iron_query/table.hpp>
20 std::vector<Column> columns);
25 std::initializer_list<Column> columns);
42 Expr Dot(
const std::string &column_name)
const;
51 std::string alias =
"");
54 std::vector<Column> columns_;
Arbitrary SQL expression.
Definition expr.hpp:46
Table with associated columns. Usually not created by hands.
Definition table_with_columns.hpp:15
static TableWithColumns FromRaw(std::string name, std::initializer_list< Column > columns)
Attaches a set of columns to a trusted, developer-written table name. Never pass untrusted/dynamic da...
Expr Dot(const Column &column) const
Qualifies column as alias.column.name.
TableWithColumns As(std::string_view name) const
Aliases this table as this AS name, preserving its column list so Dot can verify a referenced column ...
Expr SelectArgAll() const
Builds a comma-separated Expr listing all column names, for use as a SELECT list.
static TableWithColumns FromRaw(std::string name, std::vector< Column > columns)
Attaches a set of columns to a trusted, developer-written table name. Never pass untrusted/dynamic da...
Expr Dot(const std::string &column_name) const
Qualifies column_name as alias.column_name.
Table with name.
Definition table.hpp:10
SQL table column.
Definition column.hpp:14