eckit::sql::expression::OrderByExpressions class

Base classes

class Expressions

Public static functions

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

Constructors, destructors, conversion operators

OrderByExpressions(const OrderByExpressions& o)
OrderByExpressions(const std::vector<bool>& ascending)
OrderByExpressions()
~OrderByExpressions()

Public functions

auto operator<(const OrderByExpressions&) const -> bool
auto operator==(const OrderByExpressions&) const -> bool
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 eval(bool& missing) const -> double pure virtual
void eval(double* out, bool& missing) const
void eval(double* out, bool& missing) const virtual
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 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 at(T... args) -> T
auto back(T... args) -> T
auto begin(T... args) -> T
auto capacity(T... args) -> T
auto cbegin(T... args) -> T
auto cend(T... args) -> T
auto clear(T... args) -> T
auto crbegin(T... args) -> T
auto crend(T... args) -> T
auto data(T... args) -> T
auto emplace(T... args) -> T
auto emplace_back(T... args) -> T
auto empty(T... args) -> T
auto end(T... args) -> T
auto erase(T... args) -> T
auto front(T... args) -> T
auto get_allocator(T... args) -> T
auto insert(T... args) -> T
auto max_size(T... args) -> T
auto operator[](T... args) -> T
auto pop_back(T... args) -> T
auto push_back(T... args) -> T
auto rbegin(T... args) -> T
auto rend(T... args) -> T
auto reserve(T... args) -> T
auto resize(T... args) -> T
auto shrink_to_fit(T... args) -> T
auto size(T... args) -> T
auto swap(T... args) -> T

Function documentation

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

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

void eckit::sql::expression::OrderByExpressions::prepare(SQLSelect&) override

void eckit::sql::expression::OrderByExpressions::cleanup(SQLSelect&) override

const type::SQLType* eckit::sql::expression::OrderByExpressions::type() const override

double eckit::sql::expression::OrderByExpressions::eval(bool& missing) const override

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

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

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

bool eckit::sql::expression::OrderByExpressions::isConstant() const override

bool eckit::sql::expression::OrderByExpressions::isNumber() const override

bool eckit::sql::expression::OrderByExpressions::isVector() const virtual

Expressions& eckit::sql::expression::OrderByExpressions::vector() virtual

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

std::shared_ptr<SQLExpression> eckit::sql::expression::OrderByExpressions::clone() const override

std::shared_ptr<SQLExpression> eckit::sql::expression::OrderByExpressions::reshift(int minColumnShift_) const override

Expressions eckit::sql::expression::OrderByExpressions::reshift_expressions(int minColumnShift_) const virtual

bool eckit::sql::expression::OrderByExpressions::isAggregate() const override

void eckit::sql::expression::OrderByExpressions::output(SQLOutput&) const override

void eckit::sql::expression::OrderByExpressions::partialResult() override

void eckit::sql::expression::OrderByExpressions::expandStars(const std::vector<std::reference_wrapper<const SQLTable>>&, expression::Expressions&) override

void eckit::sql::expression::OrderByExpressions::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::OrderByExpressions::updateType(SQLSelect&) virtual

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

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

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

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

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

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

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

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

double eckit::sql::expression::OrderByExpressions::missingValue() const