IronQuery
A SQL-first query builder for C++
Loading...
Searching...
No Matches
column.hpp
1#pragma once
2
3#include <iron_query/expr.hpp>
4#include <iron_query/select_item.hpp>
5#include <string>
6#include <string_view>
7
8namespace iron_query {
9
10// userver (???) PostgreSQL part:
11
14struct [[nodiscard]] Column final {
16 std::string name;
21 std::string type;
23 bool is_nullable{false};
24
26 operator Expr() const;
27
31 Expr ToExpr() const;
32
35 SelectItem As(std::string_view alias) const;
36};
37
38} // namespace iron_query
Arbitrary SQL expression.
Definition expr.hpp:46
A single entry of a SELECT list: an expression, optionally renamed with Expr::As. Kept distinct from ...
Definition select_item.hpp:15
SQL table column.
Definition column.hpp:14
Expr ToExpr() const
Explicitly converts this column reference into an Expr wrapping its name, for calling Expr members Co...
std::string type
Definition column.hpp:21
std::string name
Column name.
Definition column.hpp:16
SelectItem As(std::string_view alias) const
Names this column in a SELECT list: this AS alias.