Classes | |
struct | bufferElement |
Public Member Functions | |
virtual ibis::table::stringList | columnNames () const |
virtual ibis::table::typeList | columnTypes () const |
cursor (const ibis::bord &t) | |
Constructor. | |
virtual int | dump (std::ostream &out, const char *del) const |
Print the content of the current row. | |
virtual int | fetch (uint64_t) |
Make the specified row in the data set available for retrieval. | |
virtual int | fetch (ibis::table::row &) |
Fetch the content of the next row and make the next row as the current row as well. | |
virtual int | fetch (uint64_t, ibis::table::row &) |
Fetch the content of the specified row and make that row the current row as well. | |
virtual int | fetch () |
Make the next row of the data set available for retrieval. | |
virtual int | getColumnAsByte (uint32_t, char &) const |
This version of getColumnAsTTT directly use the column number, i.e., the position of a column in the list returned by function columnNames or columnTypes . | |
virtual int | getColumnAsByte (const char *, char &) const |
Retrieve the value of the named column. | |
virtual int | getColumnAsDouble (uint32_t, double &) const |
virtual int | getColumnAsDouble (const char *, double &) const |
virtual int | getColumnAsFloat (uint32_t, float &) const |
virtual int | getColumnAsFloat (const char *, float &) const |
virtual int | getColumnAsInt (const char *, int32_t &) const |
virtual int | getColumnAsInt (uint32_t, int32_t &) const |
virtual int | getColumnAsLong (const char *, int64_t &) const |
virtual int | getColumnAsLong (uint32_t, int64_t &) const |
virtual int | getColumnAsShort (const char *, int16_t &) const |
virtual int | getColumnAsShort (uint32_t, int16_t &) const |
virtual int | getColumnAsString (uint32_t, std::string &) const |
virtual int | getColumnAsString (const char *, std::string &) const |
virtual int | getColumnAsUByte (uint32_t, unsigned char &) const |
virtual int | getColumnAsUByte (const char *, unsigned char &) const |
virtual int | getColumnAsUInt (uint32_t, uint32_t &) const |
virtual int | getColumnAsUInt (const char *, uint32_t &) const |
virtual int | getColumnAsULong (uint32_t, uint64_t &) const |
virtual int | getColumnAsULong (const char *, uint64_t &) const |
virtual int | getColumnAsUShort (uint32_t, uint16_t &) const |
virtual int | getColumnAsUShort (const char *, uint16_t &) const |
virtual uint64_t | getCurrentRowNumber () const |
Return the current row number. | |
virtual uint32_t | nColumns () const |
virtual uint64_t | nRows () const |
Protected Types | |
typedef std::map< const char *, uint32_t, ibis::lessi > | bufferMap |
Protected Member Functions | |
int | dumpIJ (std::ostream &, uint32_t, uint32_t) const |
void | fillRow (ibis::table::row &res) const |
Protected Attributes | |
std::vector< bufferElement > | buffer |
bufferMap | bufmap |
int64_t | curRow |
const ibis::bord & | tab |
ibis::bord::cursor::cursor | ( | const ibis::bord & | t | ) |
Constructor.
It retrieves the columns from the table object using that function ibis::part::getColumn(uint32_t), which preserves the order specified in the original table construction, but may leave the columns in an arbitrary order.
References cursor(), ibis::part::getColumn(), ibis::column::name(), ibis::bord::nColumns(), and ibis::column::type().
Referenced by cursor().
int ibis::bord::cursor::fetch | ( | uint64_t | rownum, |
ibis::table::row & | |||
) | [inline, virtual] |
Fetch the content of the specified row and make that row the current row as well.
Implements ibis::table::cursor.
int ibis::bord::cursor::fetch | ( | ) | [inline, virtual] |
Make the next row of the data set available for retrieval.
Returns 0 if successful, returns a negative number to indicate error.
Implements ibis::table::cursor.
int ibis::bord::cursor::fetch | ( | uint64_t | rownum | ) | [inline, virtual] |
Make the specified row in the data set available for retrieval.
Returns 0 if the specified row is found, returns a negative number to indicate error, such as rownum
out of range (-1).
Implements ibis::table::cursor.
int ibis::bord::cursor::fetch | ( | ibis::table::row & | ) | [inline, virtual] |
Fetch the content of the next row and make the next row as the current row as well.
Implements ibis::table::cursor.
int ibis::bord::cursor::getColumnAsByte | ( | const char * | cname, |
char & | |||
) | const [inline, virtual] |
Retrieve the value of the named column.
Implements ibis::table::cursor.
int ibis::bord::cursor::getColumnAsByte | ( | uint32_t | cnum, |
char & | val | ||
) | const [virtual] |
This version of getColumnAsTTT directly use the column number, i.e., the position of a column in the list returned by function columnNames
or columnTypes
.
This version of the data access function may be able to avoid the name lookup and reduce the execution time.
Implements ibis::table::cursor.
References ibis::BYTE, and ibis::UBYTE.
virtual uint64_t ibis::bord::cursor::getCurrentRowNumber | ( | ) | const [inline, virtual] |
Return the current row number.
Rows in a data set are numbered [0
nRows()-1
]. If the cursor is not ready, such as before the first call to fetch
or function fetch
returned an error, this function return the same value as function nRows
. Implements ibis::table::cursor.
![]() |