eckit::sql::expression::function::FunctionIntegerExpression class

Base classes

class FunctionExpression

Derived classes

class FunctionROWNUMBER
class FunctionTDIFF
class FunctionTHIN
class FunctionTIMESTAMP

Public static functions

static void registerIntegerFunctions()
static auto arity() -> int
static auto help() -> const char*
static auto number(double) -> std::shared_ptr<SQLExpression>

Constructors, destructors, conversion operators

FunctionIntegerExpression(const std::string&, const expression::Expressions&)
~FunctionIntegerExpression()

Public functions

auto type() const -> const eckit::sql::type::SQLType* override
void output(SQLOutput& s) const override
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 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 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

Function documentation

static const char* eckit::sql::expression::function::FunctionIntegerExpression::help()

static std::shared_ptr<SQLExpression> eckit::sql::expression::function::FunctionIntegerExpression::number(double)

void eckit::sql::expression::function::FunctionIntegerExpression::print(std::ostream& s) const override

void eckit::sql::expression::function::FunctionIntegerExpression::preprepare(SQLSelect&) override

pre-prepare ideally wouldn't exist. To enable a two-pass prepare of SQL columns for SQLSelect, this is here.

void eckit::sql::expression::function::FunctionIntegerExpression::prepare(SQLSelect& sql) override

void eckit::sql::expression::function::FunctionIntegerExpression::updateType(SQLSelect& sql) override

void eckit::sql::expression::function::FunctionIntegerExpression::cleanup(SQLSelect& sql) override

bool eckit::sql::expression::function::FunctionIntegerExpression::isConstant() const override

std::shared_ptr<SQLExpression> eckit::sql::expression::function::FunctionIntegerExpression::simplify(bool&) override

bool eckit::sql::expression::function::FunctionIntegerExpression::isAggregate() const override

void eckit::sql::expression::function::FunctionIntegerExpression::partialResult() override

std::shared_ptr<SQLExpression> eckit::sql::expression::function::FunctionIntegerExpression::reshift(int minColumnShift) const override

expression::Expressions& eckit::sql::expression::function::FunctionIntegerExpression::args()

double eckit::sql::expression::function::FunctionIntegerExpression::eval(bool& missing) const pure virtual

void eckit::sql::expression::function::FunctionIntegerExpression::eval(double* out, bool& missing) const virtual

std::string eckit::sql::expression::function::FunctionIntegerExpression::evalAsString(bool& missing) const virtual

bool eckit::sql::expression::function::FunctionIntegerExpression::andSplit(expression::Expressions&) virtual

bool eckit::sql::expression::function::FunctionIntegerExpression::isNumber() const virtual

void eckit::sql::expression::function::FunctionIntegerExpression::title(const std::string&) virtual

std::string eckit::sql::expression::function::FunctionIntegerExpression::title() const virtual

std::shared_ptr<SQLExpression> eckit::sql::expression::function::FunctionIntegerExpression::clone() const pure virtual

void eckit::sql::expression::function::FunctionIntegerExpression::expandStars(const std::vector<std::reference_wrapper<const SQLTable>>&, expression::Expressions&) virtual

bool eckit::sql::expression::function::FunctionIntegerExpression::isBitfield() const virtual

BitfieldDef eckit::sql::expression::function::FunctionIntegerExpression::bitfieldDef() const

bool eckit::sql::expression::function::FunctionIntegerExpression::hasMissingValue() const virtual

double eckit::sql::expression::function::FunctionIntegerExpression::missingValue() const

This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.