libUTL++
utl::DBresultIterator Class Reference

Query result iterator. More...

#include <DBresultIterator.h>

Inheritance diagram for utl::DBresultIterator:

Public Member Functions

 DBresultIterator (DBconnection *connection, const String &query, uint_t limit=uint_t_max)
 Initialize. More...
 
void initialize (DBconnection *connection, const String &query, uint_t limit=uint_t_max)
 Start a new query. More...
 
bool ok () const
 Is everything OK?
 
uint_t status () const
 Get the status. More...
 
const String & errorMsg () const
 Get error message. More...
 
uint_t numFields () const
 Get number of fields. More...
 
bool end () const
 No more result rows?
 
bool isNull (uint_t field) const
 Is the given field nullptr?
 
const uint64_t * values () const
 Get values pointer for current row. More...
 
uint64_t field (uint_t field) const
 Get raw value at given field index. More...
 
char * getString (uint_t fieldIdx) const
 Get string value at given field index. More...
 
bool getBool (uint_t fieldIdx) const
 Get boolean value at given field index. More...
 
int getInt32 (uint_t fieldIdx) const
 Get 32-bit integer value at given field index. More...
 
int64_t getInt64 (uint_t fieldIdx) const
 Get 64-bit integer value at given field index. More...
 
double getDouble (uint_t fieldIdx) const
 Get double value at given field index. More...
 
time_t getDateTime (uint_t fieldIdx) const
 Get date/time value at given field index. More...
 
uint_t row () const
 Get the current row. More...
 
void seek (uint_t row)
 Seek to the given row. More...
 
void next ()
 Move forward one row. More...
 
DBresultIterator & operator++ ()
 Move forward one row. More...
 
- Public Member Functions inherited from utl::Object
void clear ()
 Revert to initial state. More...
 
virtual int compare (const Object &rhs) const
 Compare with another object. More...
 
virtual void copy (const Object &rhs)
 Copy another instance. More...
 
virtual void vclone (const Object &rhs)
 Make an exact copy of another instance. More...
 
virtual void steal (Object &rhs)
 "Steal" the internal representation from another instance. More...
 
virtual void dump (Stream &os, uint_t level=uint_t_max) const
 Dump a human-readable representation of self to the given output stream. More...
 
void dumpWithClassName (Stream &os, uint_t indent=4, uint_t level=uint_t_max) const
 Front-end for dump() that prints the object's class name. More...
 
virtual const Object & getKey () const
 Get the key for this object. More...
 
bool hasKey () const
 Determine whether or not the object has a key. More...
 
virtual const Object & getProxiedObject () const
 Get the proxied object (= self if none). More...
 
virtual Object & getProxiedObject ()
 Get the proxied object (= self if none). More...
 
virtual size_t hash (size_t size) const
 Get the hash code for the object. More...
 
bool _isA (const RunTimeClass *runTimeClass) const
 Determine whether self's class is a descendent of the given class. More...
 
virtual String toString () const
 Return a string representation of self. More...
 
 operator String () const
 Conversion to String. More...
 
size_t allocatedSize () const
 Get the total allocated size of this object. More...
 
virtual size_t innerAllocatedSize () const
 Get the "inner" allocated size. More...
 
virtual void addOwnedIt (const class FwdIt *it) const
 Notify self that it owns the given iterator. More...
 
virtual void removeOwnedIt (const class FwdIt *it) const
 Notify self that the given owned iterator has been destroyed. More...
 
bool operator< (const Object &rhs) const
 Less-than operator. More...
 
bool operator<= (const Object &rhs) const
 Less-than-or-equal-to operator. More...
 
bool operator> (const Object &rhs) const
 Greater-than operator. More...
 
bool operator>= (const Object &rhs) const
 Greater-than-or-equal-to operator. More...
 
bool operator== (const Object &rhs) const
 Equal-to operator. More...
 
bool operator!= (const Object &rhs) const
 Unequal-to operator. More...
 
void serializeIn (Stream &is, uint_t mode=ser_default)
 Serialize from an input stream. More...
 
void serializeOut (Stream &os, uint_t mode=ser_default) const
 Serialize to an output stream. More...
 
virtual void serialize (Stream &stream, uint_t io, uint_t mode=ser_default)
 Serialize to or from a stream. More...
 
void serializeOutBoxed (Stream &os, uint_t mode=ser_default) const
 Serialize a boxed object to an output stream. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from utl::Object
static Object * serializeInNullable (Stream &is, uint_t mode=ser_default)
 Serialize a nullptr-able object from an input stream. More...
 
static void serializeOutNullable (const Object *object, Stream &os, uint_t mode=ser_default)
 Serialize a nullptr-able object to an output stream. More...
 
static void serializeNullable (Object *&object, Stream &stream, uint_t io, uint_t mode=ser_default)
 Serialize a nullptr-able object to or from a stream. More...
 
static Object * serializeInBoxed (Stream &is, uint_t mode=ser_default)
 Serialize a boxed object from an input stream. More...
 
static void serializeBoxed (Object *&object, Stream &stream, uint_t io, uint_t mode=ser_default)
 Serialize a boxed object to or from a stream. More...
 

Detailed Description

Query result iterator.

DBresultIterator provides a convenient way to iterate over result rows. It can handle "paging", where a large response to a query can be retrieved in smaller-sized pieces by a series of queries.

Author
Adam McKee

Definition at line 26 of file DBresultIterator.h.

Constructor & Destructor Documentation

◆ DBresultIterator()

utl::DBresultIterator::DBresultIterator ( DBconnection *  connection,
const String &  query,
uint_t  limit = uint_t_max 
)
inline

Initialize.

Parameters
connectiondatabase connection
querySQL query
limitlimit number of result rows per query?

Definition at line 37 of file DBresultIterator.h.

References utl::init(), and utl::uint_t_max.

Member Function Documentation

◆ initialize()

void utl::DBresultIterator::initialize ( DBconnection *  connection,
const String &  query,
uint_t  limit = uint_t_max 
)

Start a new query.

Parameters
connectiondatabase connection
querySQL query
limitlimit number of result rows per query?

◆ status()

uint_t utl::DBresultIterator::status ( ) const
inline

Get the status.

Definition at line 60 of file DBresultIterator.h.

References ASSERTD.

◆ errorMsg()

const String& utl::DBresultIterator::errorMsg ( ) const
inline

Get error message.

Definition at line 68 of file DBresultIterator.h.

References ASSERTD.

◆ numFields()

uint_t utl::DBresultIterator::numFields ( ) const
inline

Get number of fields.

Definition at line 76 of file DBresultIterator.h.

References ASSERTD.

◆ values()

const uint64_t* utl::DBresultIterator::values ( ) const

Get values pointer for current row.

◆ field()

uint64_t utl::DBresultIterator::field ( uint_t  field) const

Get raw value at given field index.

◆ getString()

char* utl::DBresultIterator::getString ( uint_t  fieldIdx) const

Get string value at given field index.

◆ getBool()

bool utl::DBresultIterator::getBool ( uint_t  fieldIdx) const

Get boolean value at given field index.

◆ getInt32()

int utl::DBresultIterator::getInt32 ( uint_t  fieldIdx) const

Get 32-bit integer value at given field index.

◆ getInt64()

int64_t utl::DBresultIterator::getInt64 ( uint_t  fieldIdx) const

Get 64-bit integer value at given field index.

◆ getDouble()

double utl::DBresultIterator::getDouble ( uint_t  fieldIdx) const

Get double value at given field index.

◆ getDateTime()

time_t utl::DBresultIterator::getDateTime ( uint_t  fieldIdx) const

Get date/time value at given field index.

◆ row()

uint_t utl::DBresultIterator::row ( ) const

Get the current row.

◆ seek()

void utl::DBresultIterator::seek ( uint_t  row)

Seek to the given row.

◆ next()

void utl::DBresultIterator::next ( )

Move forward one row.

◆ operator++()

DBresultIterator& utl::DBresultIterator::operator++ ( )
inline

Move forward one row.

Definition at line 127 of file DBresultIterator.h.

References utl::deInit(), and utl::init().


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