|
IronQuery
A SQL-first query builder for C++
|
Transitional representation for UNION/UNION ALL/INTERSECT/EXCEPT. More...
#include <set_op.hpp>


Public Member Functions | |
| SetOp (const VirtualTable &a, const VirtualTable &b, const SetOpKind &kind) | |
Builds a kind b. | |
| std::string | ToString () const override |
| Renders this table value as single-line SQL text. See also ToStringFormatted for a multi-line, indented rendering. | |
Public Member Functions inherited from iron_query::VirtualTable | |
| virtual std::string | ToStringFormatted () const |
| Renders this table value as multi-line, indented SQL text for readability (e.g. logging/debugging a generated query). Defaults to ToString; overridden by SelectExpr to lay out each clause on its own line. | |
| virtual std::string | ToStringBracketed () const |
| Renders this table value as SQL text, parenthesized so it can be safely embedded as a subquery. Overridden by Table to skip bracketing, since a bare table name never needs it. | |
| virtual std::string | ToStringAsFromItem () const |
Renders this table value as a FROM item. Distinct from ToStringBracketed because PostgreSQL's table_ref grammar accepts a bare join but parenthesizes one only when an alias follows. | |
| Table | As (std::string_view name) const |
Aliases this table value as this AS name, usable as a FROM source. name must be a valid (optionally dotted) SQL identifier. | |
| operator Expr () const && | |
| Converts this table value into a subquery expression, e.g. for use as a scalar subquery. Only available on rvalues. | |
Transitional representation for UNION/UNION ALL/INTERSECT/EXCEPT.
| iron_query::SetOp::SetOp | ( | const VirtualTable & | a, |
| const VirtualTable & | b, | ||
| const SetOpKind & | kind | ||
| ) |
Builds a kind b.
a and b produce the same number of columns or compatible column types.
|
overridevirtual |
Renders this table value as single-line SQL text. See also ToStringFormatted for a multi-line, indented rendering.
Implements iron_query::VirtualTable.