11 #include "eckit/sql/expression/SQLExpressions.h"
12 #include "eckit/sql/SQLSelect.h"
21 using namespace eckit;
22 using namespace eckit::sql;
37 template<
typename WRITER>
44 template<
typename WRITER>
47 template<
typename WRITER>
50 s <<
"ODAOutput: iterator: " << it_ << std::endl;
53 template<
typename WRITER>
56 template<
typename WRITER>
59 template<
typename WRITER>
62 template<
typename WRITER>
65 template<
typename WRITER>
68 size_t nCols (results.size());
69 for(
size_t i (0);
i < nCols; ++
i)
73 (*it_)[
i] = results[
i]->eval(missing);
81 template<
typename WRITER>
84 template<
typename WRITER>
87 const expression::Expressions&
columns (sql.output());
105 (**it_).setBitfieldColumn(
i,
c.title(), typ,
c.bitfieldDef());
107 (**it_).setColumn(
i,
c.title(), typ);
110 (**it_).missingValue(
i,
c.missingValue());
113 (**it_).writeHeader();
114 Log::debug<LibOdc>() <<
" => ODAOutput: " << std::endl << (**it_).columns() << std::endl;
virtual void preprepare(eckit::sql::SQLSelect &) override
virtual void prepare(eckit::sql::SQLSelect &) override
virtual void flush() override
virtual bool output(const eckit::sql::expression::Expressions &) override
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
ColumnType sqlToOdbType(const SQLType &t)