class
SQLExpression
Derived classes
- class ColumnExpression
- class ConstantExpression
- class Expressions
- class NumberExpression
- class ParameterExpression
- class SQLExpressionEvaluated
- class StringExpression
- class FunctionExpression
Public static functions
-
static auto number(double) -> std::
shared_ptr<SQLExpression>
Constructors, destructors, conversion operators
- SQLExpression()
- ~SQLExpression() virtual
Public functions
- void preprepare(SQLSelect&) virtual
- void prepare(SQLSelect&) pure virtual
- void updateType(SQLSelect&) virtual
- void cleanup(SQLSelect&) pure virtual
- auto eval(bool& missing) const -> double pure virtual
- void eval(double* out, bool& missing) const virtual
-
auto evalAsString(bool& missing) const -> std::
string virtual -
auto andSplit(expression::
Expressions&) -> bool virtual -
void tables(std::
set<const SQLTable*>&) virtual - auto isConstant() const -> bool pure virtual
- auto isNumber() const -> bool virtual
-
auto simplify(bool&) -> std::
shared_ptr<SQLExpression> virtual -
void title(const std::
string&) virtual -
auto title() const -> std::
string virtual -
auto type() const -> const type::
SQLType* pure virtual -
auto clone() const -> std::
shared_ptr<SQLExpression> pure virtual -
auto reshift(int minColumnShift) const -> std::
shared_ptr<SQLExpression> pure virtual - auto isAggregate() const -> bool virtual
- void output(SQLOutput&) const virtual
- void partialResult() virtual
-
void expandStars(const std::
vector<std:: reference_wrapper<const SQLTable>>&, expression:: Expressions&) virtual - auto isBitfield() const -> bool virtual
- auto bitfieldDef() const -> BitfieldDef
- auto hasMissingValue() const -> bool virtual
- auto missingValue() const -> double
-
void print(std::
ostream&) const pure virtual - auto shared_from_this(T... args) -> T
- auto weak_from_this(T... args) -> T
Friends
-
auto operator<<(std::
ostream& s, const SQLExpression& p) -> std:: ostream&
Function documentation
void eckit:: sql:: expression:: SQLExpression:: preprepare(SQLSelect&) virtual
pre-prepare ideally wouldn't exist. To enable a two-pass prepare of SQL columns for SQLSelect, this is here.