eckit::sql::SQLSelect class

Base classes

class SQLStatement

Public types

using ValueLookup = std::pair<const double*, bool>

Constructors, destructors, conversion operators

SQLSelect(const Expressions& columns, const std::vector<std::reference_wrapper<const SQLTable>>& tables, std::shared_ptr<expression::SQLExpression> where, SQLOutput& out, std::vector<std::unique_ptr<SQLOutput>>&& ownedOutputs_ = std::vector<std::unique_ptr<SQLOutput>>())
~SQLSelect()

Public functions

void prepareExecute()
auto process() -> unsigned long long
auto processOneRow() -> bool
void postExecute()
auto isAggregate() -> bool
auto column(const std::string& name, const SQLTable*) -> ValueLookup&
auto typeOf(const std::string& name, const SQLTable*) const -> const type::SQLType*
auto findTable(const std::string& name) const -> const SQLTable&
void ensureFetch(const SQLTable& table, const std::string& columnName)
auto output() const -> Expressions override
auto outputFiles() const -> std::vector<eckit::PathName>
void outputFiles(const std::vector<eckit::PathName>& files)
auto tables() -> const std::vector<const SQLTable*>&
auto where() -> expression::SQLExpression*
auto execute() -> unsigned long long override

Private functions

void print(std::ostream&) const override

Friends

auto operator<<(std::ostream& s, const SQLSelect& p) -> std::ostream&