16 #ifndef odc_sql_ODAOutput_H
17 #define odc_sql_ODAOutput_H
20 #include "eckit/sql/SQLOutput.h"
28 template <
typename WRITER>
38 virtual void print(std::ostream&)
const override;
44 typename WRITER::iterator
it_;
51 virtual void reset()
override;
52 virtual void flush()
override;
53 virtual bool output(
const eckit::sql::expression::Expressions&)
override;
54 virtual void preprepare(eckit::sql::SQLSelect&)
override;
55 virtual void prepare(eckit::sql::SQLSelect&)
override;
56 virtual void cleanup(eckit::sql::SQLSelect&)
override;
57 virtual unsigned long long count()
override;
61 virtual void outputReal(
double,
bool)
override;
63 virtual void outputInt(
double,
bool)
override;
65 virtual void outputString(
const char*,
size_t,
bool)
override;
79 template <
typename ITERATOR>
class Writer;
virtual void preprepare(eckit::sql::SQLSelect &) override
virtual void prepare(eckit::sql::SQLSelect &) override
std::unique_ptr< WRITER > writer_
virtual void flush() override
virtual bool output(const eckit::sql::expression::Expressions &) override
unsigned long long count_
virtual void outputBitfield(double, bool) override
virtual void outputUnsignedInt(double, bool) override
virtual void outputInt(double, bool) override
virtual void reset() override
virtual unsigned long long count() override
virtual void cleanup(eckit::sql::SQLSelect &) override
virtual void print(std::ostream &) const override
virtual void outputString(const char *, size_t, bool) override
virtual void outputDouble(double, bool) override
virtual void outputReal(double, bool) override