eckit::sql::expression::Expressions class

Base classes

class SQLExpression

Derived classes

class OrderByExpressions

Public static functions

static auto number(double) -> std::shared_ptr<SQLExpression>

Constructors, destructors, conversion operators

Expressions()
Expressions(size_t i)
Expressions(const Expressions&) defaulted
Expressions(Expressions&&) defaulted

Public functions

auto operator=(const Expressions&) -> Expressions& defaulted
auto operator=(Expressions&&) -> Expressions& defaulted
void print(std::ostream& s) const override
void prepare(SQLSelect&) override
void cleanup(SQLSelect&) override
auto type() const -> const type::SQLType* override
auto eval(bool& missing) const -> double override
auto isConstant() const -> bool override
auto isNumber() const -> bool override
auto isVector() const -> bool virtual
auto vector() -> Expressions& virtual
auto simplify(bool&) -> std::shared_ptr<SQLExpression> override
auto clone() const -> std::shared_ptr<SQLExpression> override
auto reshift(int minColumnShift_) const -> std::shared_ptr<SQLExpression> override
auto reshift_expressions(int minColumnShift_) const -> Expressions virtual
auto isAggregate() const -> bool override
void output(SQLOutput&) const override
void partialResult() override
void expandStars(const std::vector<std::reference_wrapper<const SQLTable>>&, expression::Expressions&) override
void eval(double* out, bool& missing) const virtual
void preprepare(SQLSelect&) virtual
void updateType(SQLSelect&) virtual
auto evalAsString(bool& missing) const -> std::string virtual
auto andSplit(expression::Expressions&) -> bool virtual
void tables(std::set<const SQLTable*>&) virtual
void title(const std::string&) virtual
auto title() const -> std::string 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
auto assign(T... args) -> T
auto assign(T... args) -> T
auto at(T... args) -> T
auto at(T... args) -> T
auto back(T... args) -> T
auto back(T... args) -> T
auto begin(T... args) -> T
auto begin(T... args) -> T
auto capacity(T... args) -> T
auto capacity(T... args) -> T
auto cbegin(T... args) -> T
auto cbegin(T... args) -> T
auto cend(T... args) -> T
auto cend(T... args) -> T
auto clear(T... args) -> T
auto clear(T... args) -> T
auto crbegin(T... args) -> T
auto crbegin(T... args) -> T
auto crend(T... args) -> T
auto crend(T... args) -> T
auto data(T... args) -> T
auto data(T... args) -> T
auto emplace(T... args) -> T
auto emplace(T... args) -> T
auto emplace_back(T... args) -> T
auto emplace_back(T... args) -> T
auto empty(T... args) -> T
auto empty(T... args) -> T
auto end(T... args) -> T
auto end(T... args) -> T
auto erase(T... args) -> T
auto erase(T... args) -> T
auto front(T... args) -> T
auto front(T... args) -> T
auto get_allocator(T... args) -> T
auto get_allocator(T... args) -> T
auto insert(T... args) -> T
auto insert(T... args) -> T
auto max_size(T... args) -> T
auto max_size(T... args) -> T
auto operator[](T... args) -> T
auto operator[](T... args) -> T
auto pop_back(T... args) -> T
auto pop_back(T... args) -> T
auto push_back(T... args) -> T
auto push_back(T... args) -> T
auto rbegin(T... args) -> T
auto rbegin(T... args) -> T
auto rend(T... args) -> T
auto rend(T... args) -> T
auto reserve(T... args) -> T
auto reserve(T... args) -> T
auto resize(T... args) -> T
auto resize(T... args) -> T
auto shrink_to_fit(T... args) -> T
auto shrink_to_fit(T... args) -> T
auto size(T... args) -> T
auto size(T... args) -> T
auto swap(T... args) -> T
auto swap(T... args) -> T

Friends

auto operator<<(std::ostream& o, const Expressions& e) -> std::ostream&

Function documentation

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

void eckit::sql::expression::Expressions::preprepare(SQLSelect&) virtual

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

void eckit::sql::expression::Expressions::updateType(SQLSelect&) virtual

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

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

void eckit::sql::expression::Expressions::tables(std::set<const SQLTable*>&) virtual

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

std::string eckit::sql::expression::Expressions::title() const virtual

bool eckit::sql::expression::Expressions::isBitfield() const virtual

BitfieldDef eckit::sql::expression::Expressions::bitfieldDef() const

bool eckit::sql::expression::Expressions::hasMissingValue() const virtual

double eckit::sql::expression::Expressions::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.