33 #ifndef odc_SQLSelectOutput_H
34 #define odc_SQLSelectOutput_H
37 #include "eckit/sql/SQLOutput.h"
71 virtual void print(std::ostream&)
const;
75 virtual bool output(
const eckit::sql::expression::Expressions&);
76 virtual void prepare(eckit::sql::SQLSelect&);
78 virtual void cleanup(eckit::sql::SQLSelect&);
79 virtual unsigned long long count();
virtual void outputDouble(double, bool)
SQLSelectOutput(bool manageOwnBuffer=true)
out/count specify an output buffer and its size in doubles.
const core::MetaData & metadata() const
virtual void outputString(const char *, size_t, bool)
const double * data() const
std::vector< size_t > columnSizesDoubles_
How are writes carried out.
virtual void cleanup(eckit::sql::SQLSelect &)
virtual void outputUnsignedInt(double, bool)
virtual void updateTypes(eckit::sql::SQLSelect &)
void outputNumber(double)
virtual unsigned long long count()
virtual void outputInt(double, bool)
virtual void outputReal(double, bool)
virtual void print(std::ostream &) const
double * out_
Where are we writing data to (and how many elements can we write)
void resetBuffer(double *out, size_t count)
std::vector< size_t > offsets_
virtual void outputBitfield(double, bool)
unsigned long long count_
How much output have we done.
size_t requiredBufferSize_
std::vector< double > data_
Only used if managing own buffer.
virtual ~SQLSelectOutput()
virtual bool output(const eckit::sql::expression::Expressions &)
size_t rowDataSizeDoubles() const
virtual void prepare(eckit::sql::SQLSelect &)
size_t dataOffset(size_t i) const