15 #ifndef odc_SelectIterator_H
16 #define odc_SelectIterator_H
18 #include "eckit/sql/expression/SQLExpressions.h"
21 #include "eckit/sql/SQLSession.h"
28 template <
typename I,
typename O,
typename D>
class IteratorProxy;
61 const std::map<std::string, std::string>&
properties()
const { NOTIMP; }
static void count(void *counter, const double *data, size_t n)
const core::MetaData & columns(const core::MetaData &)
sql::SQLSelectOutput & output_
int setColumn(size_t index, std::string name, api::ColumnType type)
size_t rowDataSizeDoubles() const
int setBitfieldColumn(size_t index, std::string name, api::ColumnType type, eckit::sql::BitfieldDef b)
const core::MetaData & columns() const
void missingValue(size_t, double)
void setOutputRowBuffer(double *data, size_t count=0)
Set an output buffer for retrieving the next row(s)
SelectIterator(const std::string &select, eckit::sql::SQLSession &session, sql::SQLSelectOutput &output)
const double * data() const
const std::map< std::string, std::string > & properties() const
void setNumberOfColumns(size_t)
size_t dataOffset(size_t i) const
The offset of a given column in the doubles[] data array.
eckit::sql::SQLSession & session_
eckit::sql::SQLSelect * selectStmt_
const core::MetaData & metadata() const
const double * data() const
size_t rowDataSizeDoubles() const
size_t dataOffset(size_t i) const