IODA Bundle
odc::sql::SQLSelectOutput Class Reference

#include <SQLSelectOutput.h>

Inheritance diagram for odc::sql::SQLSelectOutput:
[legend]
Collaboration diagram for odc::sql::SQLSelectOutput:
[legend]

Public Member Functions

 SQLSelectOutput (bool manageOwnBuffer=true)
 out/count specify an output buffer and its size in doubles. More...
 
virtual ~SQLSelectOutput ()
 
void resetBuffer (double *out, size_t count)
 
const double * data () const
 
double & data (size_t i)
 
size_t rowDataSizeDoubles () const
 
const core::MetaDatametadata () const
 
size_t dataOffset (size_t i) const
 

Private Member Functions

void outputNumber (double)
 
virtual void print (std::ostream &) const
 
virtual void reset ()
 
virtual void flush ()
 
virtual bool output (const eckit::sql::expression::Expressions &)
 
virtual void prepare (eckit::sql::SQLSelect &)
 
virtual void updateTypes (eckit::sql::SQLSelect &)
 
virtual void cleanup (eckit::sql::SQLSelect &)
 
virtual unsigned long long count ()
 
virtual void outputReal (double, bool)
 
virtual void outputDouble (double, bool)
 
virtual void outputInt (double, bool)
 
virtual void outputUnsignedInt (double, bool)
 
virtual void outputString (const char *, size_t, bool)
 
virtual void outputBitfield (double, bool)
 

Private Attributes

std::vector< double > data_
 Only used if managing own buffer. More...
 
double * out_
 Where are we writing data to (and how many elements can we write) More...
 
double * pos_
 
double * end_
 
size_t bufferElements_
 
size_t requiredBufferSize_
 
std::vector< size_t > columnSizesDoubles_
 How are writes carried out. More...
 
std::vector< size_t > offsets_
 
core::MetaData metaData_
 
unsigned long long count_
 How much output have we done. More...
 
size_t currentColumn_
 
bool manageOwnBuffer_
 

Detailed Description

Definition at line 47 of file SQLSelectOutput.h.

Constructor & Destructor Documentation

◆ SQLSelectOutput()

odc::sql::SQLSelectOutput::SQLSelectOutput ( bool  manageOwnBuffer = true)

out/count specify an output buffer and its size in doubles.

Definition at line 37 of file SQLSelectOutput.cc.

◆ ~SQLSelectOutput()

odc::sql::SQLSelectOutput::~SQLSelectOutput ( )
virtual

Definition at line 45 of file SQLSelectOutput.cc.

Member Function Documentation

◆ cleanup()

void odc::sql::SQLSelectOutput::cleanup ( eckit::sql::SQLSelect &  )
privatevirtual

Definition at line 174 of file SQLSelectOutput.cc.

◆ count()

unsigned long long odc::sql::SQLSelectOutput::count ( )
privatevirtual

Definition at line 176 of file SQLSelectOutput.cc.

Here is the caller graph for this function:

◆ data() [1/2]

const double* odc::sql::SQLSelectOutput::data ( ) const
inline

Definition at line 59 of file SQLSelectOutput.h.

Here is the caller graph for this function:

◆ data() [2/2]

double& odc::sql::SQLSelectOutput::data ( size_t  i)
inline

Definition at line 60 of file SQLSelectOutput.h.

Here is the caller graph for this function:

◆ dataOffset()

size_t odc::sql::SQLSelectOutput::dataOffset ( size_t  i) const
inline

Definition at line 63 of file SQLSelectOutput.h.

Here is the caller graph for this function:

◆ flush()

void odc::sql::SQLSelectOutput::flush ( )
privatevirtual

Definition at line 66 of file SQLSelectOutput.cc.

◆ metadata()

const core::MetaData& odc::sql::SQLSelectOutput::metadata ( ) const
inline

Definition at line 62 of file SQLSelectOutput.h.

Here is the caller graph for this function:

◆ output()

bool odc::sql::SQLSelectOutput::output ( const eckit::sql::expression::Expressions &  )
privatevirtual

Definition at line 68 of file SQLSelectOutput.cc.

Here is the caller graph for this function:

◆ outputBitfield()

void odc::sql::SQLSelectOutput::outputBitfield ( double  x,
bool  missing 
)
privatevirtual

Definition at line 92 of file SQLSelectOutput.cc.

Here is the call graph for this function:

◆ outputDouble()

void odc::sql::SQLSelectOutput::outputDouble ( double  x,
bool  missing 
)
privatevirtual

Definition at line 89 of file SQLSelectOutput.cc.

Here is the call graph for this function:

◆ outputInt()

void odc::sql::SQLSelectOutput::outputInt ( double  x,
bool  missing 
)
privatevirtual

Definition at line 90 of file SQLSelectOutput.cc.

Here is the call graph for this function:

◆ outputNumber()

void odc::sql::SQLSelectOutput::outputNumber ( double  x)
private

Definition at line 81 of file SQLSelectOutput.cc.

Here is the caller graph for this function:

◆ outputReal()

void odc::sql::SQLSelectOutput::outputReal ( double  x,
bool  missing 
)
privatevirtual

Definition at line 88 of file SQLSelectOutput.cc.

Here is the call graph for this function:

◆ outputString()

void odc::sql::SQLSelectOutput::outputString ( const char *  s,
size_t  len,
bool  missing 
)
privatevirtual

Definition at line 94 of file SQLSelectOutput.cc.

◆ outputUnsignedInt()

void odc::sql::SQLSelectOutput::outputUnsignedInt ( double  x,
bool  missing 
)
privatevirtual

Definition at line 91 of file SQLSelectOutput.cc.

Here is the call graph for this function:

◆ prepare()

void odc::sql::SQLSelectOutput::prepare ( eckit::sql::SQLSelect &  )
privatevirtual

Definition at line 119 of file SQLSelectOutput.cc.

Here is the call graph for this function:

◆ print()

void odc::sql::SQLSelectOutput::print ( std::ostream &  s) const
privatevirtual

Definition at line 60 of file SQLSelectOutput.cc.

◆ reset()

void odc::sql::SQLSelectOutput::reset ( )
privatevirtual

Definition at line 65 of file SQLSelectOutput.cc.

◆ resetBuffer()

void odc::sql::SQLSelectOutput::resetBuffer ( double *  out,
size_t  count 
)

Definition at line 47 of file SQLSelectOutput.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rowDataSizeDoubles()

size_t odc::sql::SQLSelectOutput::rowDataSizeDoubles ( ) const
inline

Definition at line 61 of file SQLSelectOutput.h.

Here is the caller graph for this function:

◆ updateTypes()

void odc::sql::SQLSelectOutput::updateTypes ( eckit::sql::SQLSelect &  )
privatevirtual

Definition at line 123 of file SQLSelectOutput.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ bufferElements_

size_t odc::sql::SQLSelectOutput::bufferElements_
private

Definition at line 97 of file SQLSelectOutput.h.

◆ columnSizesDoubles_

std::vector<size_t> odc::sql::SQLSelectOutput::columnSizesDoubles_
private

How are writes carried out.

Definition at line 101 of file SQLSelectOutput.h.

◆ count_

unsigned long long odc::sql::SQLSelectOutput::count_
private

How much output have we done.

Definition at line 107 of file SQLSelectOutput.h.

◆ currentColumn_

size_t odc::sql::SQLSelectOutput::currentColumn_
private

Definition at line 108 of file SQLSelectOutput.h.

◆ data_

std::vector<double> odc::sql::SQLSelectOutput::data_
private

Only used if managing own buffer.

Definition at line 91 of file SQLSelectOutput.h.

◆ end_

double* odc::sql::SQLSelectOutput::end_
private

Definition at line 96 of file SQLSelectOutput.h.

◆ manageOwnBuffer_

bool odc::sql::SQLSelectOutput::manageOwnBuffer_
private

Definition at line 110 of file SQLSelectOutput.h.

◆ metaData_

core::MetaData odc::sql::SQLSelectOutput::metaData_
private

Definition at line 104 of file SQLSelectOutput.h.

◆ offsets_

std::vector<size_t> odc::sql::SQLSelectOutput::offsets_
private

Definition at line 102 of file SQLSelectOutput.h.

◆ out_

double* odc::sql::SQLSelectOutput::out_
private

Where are we writing data to (and how many elements can we write)

Definition at line 94 of file SQLSelectOutput.h.

◆ pos_

double* odc::sql::SQLSelectOutput::pos_
private

Definition at line 95 of file SQLSelectOutput.h.

◆ requiredBufferSize_

size_t odc::sql::SQLSelectOutput::requiredBufferSize_
private

Definition at line 98 of file SQLSelectOutput.h.


The documentation for this class was generated from the following files: