ibis::join::result Class Reference

An abstract base class for results of a join operation. More...

#include <join.h>

Inheritance diagram for ibis::join::result:
ibis::joinIN::result

List of all members.

Public Member Functions

virtual std::vector< std::string > columnNames () const =0
 Return column names.
virtual ibis::table::typeList columnTypes () const =0
 Return data types of all columns.
virtual void describe (std::ostream &out) const =0
 Print the column names and type.
virtual int dump (std::ostream &out, const char *del=", ") const =0
 Print out the values of the current row.
virtual int fetch ()=0
 Make the next row of the data set available for retrieval.
virtual uint32_t nColumns () const =0
virtual uint64_t nRows () const =0



virtual int getColumnAsByte (uint32_t cnum, char &) const =0
virtual int getColumnAsByte (const char *cname, char &) const =0
virtual int getColumnAsDouble (uint32_t cnum, double &) const =0
virtual int getColumnAsDouble (const char *cname, double &) const =0
virtual int getColumnAsFloat (uint32_t cnum, float &) const =0
virtual int getColumnAsFloat (const char *cname, float &) const =0
virtual int getColumnAsInt (uint32_t cnum, int32_t &) const =0
virtual int getColumnAsInt (const char *cname, int32_t &) const =0
virtual int getColumnAsLong (uint32_t cnum, int64_t &) const =0
virtual int getColumnAsLong (const char *cname, int64_t &) const =0
virtual int getColumnAsShort (uint32_t cnum, int16_t &) const =0
virtual int getColumnAsShort (const char *cname, int16_t &) const =0
virtual int getColumnAsString (uint32_t cnum, std::string &) const =0
virtual int getColumnAsString (const char *cname, std::string &) const =0
virtual int getColumnAsUByte (uint32_t cnum, unsigned char &) const =0
virtual int getColumnAsUByte (const char *cname, unsigned char &) const =0
virtual int getColumnAsUInt (uint32_t cnum, uint32_t &) const =0
virtual int getColumnAsUInt (const char *cname, uint32_t &) const =0
virtual int getColumnAsULong (uint32_t cnum, uint64_t &) const =0
virtual int getColumnAsULong (const char *cname, uint64_t &) const =0
virtual int getColumnAsUShort (uint32_t cnum, uint16_t &) const =0
virtual int getColumnAsUShort (const char *cname, uint16_t &) const =0

Detailed Description

An abstract base class for results of a join operation.

It primarily provides functions to iterate through the results.


Member Function Documentation

virtual int ibis::join::result::fetch (  )  [pure virtual]

Make the next row of the data set available for retrieval.

Returns 0 if successful, returns a negative number to indicate error.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsByte ( uint32_t  cnum,
char &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsByte ( const char *  cname,
char &   
) const [pure virtual]

Retrieve the value of the named column.

Note:
Note the cost of name lookup is likely to dominate the total cost of such a function.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsDouble ( uint32_t  cnum,
double &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsDouble ( const char *  cname,
double &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsFloat ( uint32_t  cnum,
float &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsFloat ( const char *  cname,
float &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsInt ( uint32_t  cnum,
int32_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsInt ( const char *  cname,
int32_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsLong ( uint32_t  cnum,
int64_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsLong ( const char *  cname,
int64_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsShort ( uint32_t  cnum,
int16_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsShort ( const char *  cname,
int16_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsString ( uint32_t  cnum,
std::string &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsString ( const char *  cname,
std::string &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsUByte ( uint32_t  cnum,
unsigned char &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsUByte ( const char *  cname,
unsigned char &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsUInt ( uint32_t  cnum,
uint32_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsUInt ( const char *  cname,
uint32_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsULong ( uint32_t  cnum,
uint64_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsULong ( const char *  cname,
uint64_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsUShort ( uint32_t  cnum,
uint16_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.

virtual int ibis::join::result::getColumnAsUShort ( const char *  cname,
uint16_t &   
) const [pure 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.

Implemented in ibis::joinIN::result.


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

Make It A Bit Faster