template<typename T = odb::SelectIterator>
eckit::sql::SQLIteratorOutput class

Base classes

class SQLOutput

Constructors, destructors, conversion operators

SQLIteratorOutput(T&)
~SQLIteratorOutput() override

Public functions

void preprepare(SQLSelect&) virtual
void updateTypes(SQLSelect&) virtual
auto cachedNext() -> bool virtual
void outputString(const char*, size_t, bool) pure virtual

Private functions

void print(std::ostream&) const override
void size(int) virtual
void reset() virtual
void flush() override
auto output(const expression::Expressions&) -> bool virtual
void prepare(SQLSelect&) override
void cleanup(SQLSelect&) override
auto count() -> unsigned long long virtual
void outputReal(double, bool) virtual
void outputDouble(double, bool) virtual
void outputInt(double, bool) virtual
void outputUnsignedInt(double, bool) virtual
void outputString(double, bool) virtual
void outputBitfield(double, bool) virtual

Function documentation

template<typename T>
void eckit::sql::SQLIteratorOutput<T>::preprepare(SQLSelect&) virtual

template<typename T>
void eckit::sql::SQLIteratorOutput<T>::updateTypes(SQLSelect&) virtual

template<typename T>
bool eckit::sql::SQLIteratorOutput<T>::cachedNext() virtual

If an iterator in the chain has started caching output (e.g. the OrderBy iterator), start flushing those through. Returns true when row is output, false otherwise.

template<typename T>
void eckit::sql::SQLIteratorOutput<T>::outputString(const char*, size_t, bool) pure virtual