eckit::sql::expression::BitColumnExpression class

Base classes

class ColumnExpression

Public static functions

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

Constructors, destructors, conversion operators

BitColumnExpression(const std::string&, const std::string&, SQLTable*)
BitColumnExpression(const std::string&, const std::string&, const std::string&)
BitColumnExpression(const BitColumnExpression&)
~BitColumnExpression()

Public functions

auto clone() const -> std::shared_ptr<SQLExpression> override
auto reshift(int minColumnShift) const -> std::shared_ptr<SQLExpression> override
auto table() -> const SQLTable*
auto current() -> const double*
auto nominalShift(int n) -> SQLExpression*
auto andSplit(expression::Expressions&) -> bool 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 isAggregate() const -> bool virtual
void partialResult() 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

void prepare(SQLSelect& sql) override
void updateType(SQLSelect& sql) override
auto eval(bool& missing) const -> double override
void expandStars(const std::vector<std::reference_wrapper<const SQLTable>>&, expression::Expressions&) override
auto type() const -> const eckit::sql::type::SQLType* override
auto tableColumnToFullname(const SQLColumn& column) const -> std::string override

Function documentation

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

const SQLTable* eckit::sql::expression::BitColumnExpression::table()

const double* eckit::sql::expression::BitColumnExpression::current()

SQLExpression* eckit::sql::expression::BitColumnExpression::nominalShift(int n)

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

bool eckit::sql::expression::BitColumnExpression::isNumber() const virtual

std::shared_ptr<SQLExpression> eckit::sql::expression::BitColumnExpression::simplify(bool&) virtual

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

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

bool eckit::sql::expression::BitColumnExpression::isAggregate() const virtual

void eckit::sql::expression::BitColumnExpression::partialResult() virtual

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

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

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

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