class
FunctionExpression
Base classes
Derived classes
- class FunctionAND
- class FunctionAVG
- class FunctionCOUNT
- class FunctionDOTP
- class FunctionEQ
- class FunctionFIRST
- class FunctionIN
- class FunctionIntegerExpression
- class FunctionJOIN
- class FunctionJULIAN
- class FunctionJULIAN_SECONDS
- class FunctionLAST
- class FunctionMATCH
- class FunctionMAX
- class FunctionMIN
- class FunctionNE
- class FunctionNORM
- class FunctionNOT_IN
- class FunctionNOT_NULL
- class FunctionNULL
- class FunctionNVL
- class FunctionOR
- class FunctionRLIKE
- class FunctionRMS
- class FunctionSUM
- class FunctionVAR
Public static functions
- static auto help() -> const char*
-
static auto number(double) -> std::
shared_ptr<SQLExpression>
Constructors, destructors, conversion operators
-
FunctionExpression(const std::
string&, const expression:: Expressions&) - FunctionExpression(const FunctionExpression&)
- ~FunctionExpression()
Public functions
-
void print(std::
ostream& s) const override - void preprepare(SQLSelect&) override
- void prepare(SQLSelect& sql) override
- void updateType(SQLSelect& sql) override
- void cleanup(SQLSelect& sql) override
- auto isConstant() const -> bool override
-
auto simplify(bool&) -> std::
shared_ptr<SQLExpression> override - auto isAggregate() const -> bool override
- void partialResult() override
-
auto type() const -> const type::
SQLType* override -
auto reshift(int minColumnShift) const -> std::
shared_ptr<SQLExpression> override -
auto args() -> expression::
Expressions& - 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 - auto isNumber() const -> bool virtual
-
void title(const std::
string&) virtual -
auto title() const -> std::
string virtual -
auto clone() const -> std::
shared_ptr<SQLExpression> pure virtual - void output(SQLOutput&) const 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
- auto shared_from_this(T... args) -> T
- auto weak_from_this(T... args) -> T
Private functions
Function documentation
static std:: shared_ptr<SQLExpression> eckit:: sql:: expression:: function:: FunctionExpression:: number(double)
void eckit:: sql:: expression:: function:: FunctionExpression:: preprepare(SQLSelect&) override
pre-prepare ideally wouldn't exist. To enable a two-pass prepare of SQL columns for SQLSelect, this is here.
double eckit:: sql:: expression:: function:: FunctionExpression:: eval(bool& missing) const pure virtual
void eckit:: sql:: expression:: function:: FunctionExpression:: eval(double* out,
bool& missing) const virtual
std:: string eckit:: sql:: expression:: function:: FunctionExpression:: evalAsString(bool& missing) const virtual
bool eckit:: sql:: expression:: function:: FunctionExpression:: andSplit(expression:: Expressions&) virtual
bool eckit:: sql:: expression:: function:: FunctionExpression:: isNumber() const virtual
void eckit:: sql:: expression:: function:: FunctionExpression:: title(const std:: string&) virtual
std:: string eckit:: sql:: expression:: function:: FunctionExpression:: title() const virtual
std:: shared_ptr<SQLExpression> eckit:: sql:: expression:: function:: FunctionExpression:: clone() const pure virtual
void eckit:: sql:: expression:: function:: FunctionExpression:: expandStars(const std:: vector<std:: reference_wrapper<const SQLTable>>&,
expression:: Expressions&) virtual
bool eckit:: sql:: expression:: function:: FunctionExpression:: isBitfield() const virtual
BitfieldDef eckit:: sql:: expression:: function:: FunctionExpression:: bitfieldDef() const
bool eckit:: sql:: expression:: function:: FunctionExpression:: hasMissingValue() const virtual
double eckit:: sql:: expression:: function:: FunctionExpression:: missingValue() const