The bundle with only one component. More...
#include <bundle.h>
Public Member Functions | |
bundle1 (const ibis::query &, int=0) | |
Constructor. More... | |
bundle1 (const ibis::query &, const ibis::bitvector &, int=0) | |
Constructor. It creates a bundle using the rows selected by hits. | |
bundle1 (const ibis::part &, const ibis::selectClause &, int=0) | |
Constructor. It creates the bundle using all rows of tbl. | |
virtual void * | columnArray (uint32_t j) const |
Return the pointer to the underlying array used to store the jth column of the bundle. More... | |
virtual const ibis::column * | columnPointer (uint32_t j) const |
Column pointer. | |
virtual ibis::TYPE_T | columnType (uint32_t j) const |
Return the type used to store the values of the jth column of the bundle. More... | |
virtual double | getDouble (uint32_t, uint32_t) const |
Retrieve the value of i-th row j-th column as a 64-bit floating-point value. More... | |
virtual float | getFloat (uint32_t, uint32_t) const |
Retrieve the value of i-th row j-th column as a 32-bit floating-point value. More... | |
virtual int32_t | getInt (uint32_t, uint32_t) const |
Retrieve the value of i-th row j-th column as a 32-bit integer. More... | |
virtual int64_t | getLong (uint32_t, uint32_t) const |
Retrieve the value of i-th row j-th column as a 64-bit integer. More... | |
virtual std::string | getString (uint32_t, uint32_t) const |
Retrieve the value of i-th row j-th column as a string. More... | |
virtual uint32_t | getUInt (uint32_t, uint32_t) const |
Retrieve the value of i-th row j-th column as a 32-bit unsigned integer. More... | |
virtual uint64_t | getULong (uint32_t, uint32_t) const |
Retrieve the value of i-th row j-th column as a 64-bit unsigned integer. More... | |
virtual void | print (std::ostream &out) const |
Print the bundle values to the specified output stream. More... | |
virtual void | printAll (std::ostream &out) const |
Print the bundle values along with the RIDs. | |
virtual void | printColumnNames (std::ostream &out) const |
Print column names. | |
virtual void | reorder (const char *) |
Reorder the values. More... | |
virtual uint32_t | size () const |
Return the number of bundles. | |
virtual long | truncate (uint32_t) |
This single-argument version keep the first few records. | |
virtual long | truncate (uint32_t, uint32_t) |
This two-argument version keeps a few records starting at a user-specified row number. More... | |
virtual long | truncate (const char *, uint32_t keep) |
Truncate the list of bundle based on specified keys. | |
virtual uint32_t | width () const |
Return the width of the bundles. | |
virtual void | write (const ibis::query &) const |
Write the bundle to the directory for the query q . | |
virtual | ~bundle1 () |
Destructor. | |
Public Member Functions inherited from ibis::bundle | |
const ibis::RIDSet * | getRIDs (uint32_t ind) const |
Return the RIDs of the ind th bundle. | |
const ibis::RIDSet * | getRIDs () const |
Return the pointer to all RIDs. | |
const ibis::array_t< uint32_t > * | getStarts () const |
Return the pointer to array starts. | |
uint32_t | numRowsInBundle (uint32_t ind) const |
Compute the number of rows in bundle ind . | |
uint32_t | rowCounts (array_t< uint32_t > &cnt) const |
Compute the number of rows in each group(bundle). More... | |
void | sortRIDs (uint32_t i, uint32_t j) |
Sort RIDs in the range of [i, j) | |
void | swapRIDs (uint32_t i, uint32_t j) |
Additional Inherited Members | |
Static Public Member Functions inherited from ibis::bundle | |
static bundle * | create (const ibis::query &, int=0) |
Create new bundle from a query object. More... | |
static bundle * | create (const ibis::query &, const ibis::bitvector &, int=0) |
Create a new bundle from previously stored information. | |
static bundle * | create (const ibis::part &, const ibis::selectClause &, int=0) |
Create a bundle using the all values of the partition. | |
static const ibis::RIDSet * | readRIDs (const char *dir, const uint32_t i) |
Return the RIDs related to the ith bundle. More... | |
Protected Member Functions inherited from ibis::bundle | |
bundle (const ibis::selectClause &c) | |
bundle (const ibis::query &q) | |
bundle (const ibis::query &q, const ibis::bitvector &hits) | |
bundle (const ibis::part &t, const ibis::selectClause &s) | |
Protected Attributes inherited from ibis::bundle | |
const ibis::selectClause & | comps |
const char * | id |
bool | infile |
ibis::RIDSet * | rids |
array_t< uint32_t > * | starts |
The bundle with only one component.
|
explicit |
Constructor.
It attempt to read to read a bundle from files first. If that fails, it attempts to create a bundle based on the current hits.
References ibis::selectClause::aggExpr(), ibis::selectClause::aggName(), ibis::selectClause::aggSize(), bundle1(), ibis::fileManager::storage::bytes(), ibis::bitvector::cnt(), ibis::colValues::create(), ibis::query::dir(), ibis::column::elementSize(), ibis::selectClause::empty(), ibis::part::getColumn(), ibis::fileManager::getFile(), ibis::util::getFileSize(), ibis::query::getHitVector(), ibis::query::getNumHits(), ibis::query::id(), ibis::fileManager::instance(), ibis::query::partition(), print(), printAll(), ibis::query::readRIDs(), ibis::array_t< T >::size(), and ibis::bitvector::sloppyCount().
Referenced by bundle1().
|
inlinevirtual |
Return the pointer to the underlying array used to store the jth column of the bundle.
Reimplemented from ibis::bundle.
|
inlinevirtual |
Return the type used to store the values of the jth column of the bundle.
Reimplemented from ibis::bundle.
References ibis::UNKNOWN_TYPE.
|
virtual |
Retrieve the value of i-th row j-th column as a 64-bit floating-point value.
Return the maximal value defined in the class numeric_limits if either i or j is out of bounds.
Reimplemented from ibis::bundle.
|
virtual |
Retrieve the value of i-th row j-th column as a 32-bit floating-point value.
Return the maximal value defined in the class numeric_limits if wither i or j is out of bounds.
Reimplemented from ibis::bundle.
|
virtual |
Retrieve the value of i-th row j-th column as a 32-bit integer.
Return the maximal value defined in the class numeric_limits if either i or j is out of bounds.
Reimplemented from ibis::bundle.
|
virtual |
Retrieve the value of i-th row j-th column as a 64-bit integer.
Return the maximal value defined in the class numeric_limits if either i or j is out of bounds.
Reimplemented from ibis::bundle.
|
virtual |
Retrieve the value of i-th row j-th column as a string.
Returns an empty string if either i or j is out of bounds, which can not be distinguished from an actual empty string. This function converts a value to its string representation through std::ostringstream
.
Reimplemented from ibis::bundle.
|
virtual |
Retrieve the value of i-th row j-th column as a 32-bit unsigned integer.
Return the maximal value defined in the class numeric_limits if either i or j is out of bounds.
Reimplemented from ibis::bundle.
|
virtual |
Retrieve the value of i-th row j-th column as a 64-bit unsigned integer.
Return the maximal value defined in the class numeric_limits if either i or j is out of bounds.
Reimplemented from ibis::bundle.
|
virtual |
Print the bundle values to the specified output stream.
print out the bundles without RIDs.
Implements ibis::bundle.
Referenced by bundle1().
|
inlinevirtual |
Reorder the values.
Since there is only one column in the bundle, the only valid name that can be passed in is the name of the sole column. Because the bundle is already sorted according to this column, there is nothing to do expect to reverse the order of the values based on the second argument.
Implements ibis::bundle.
|
virtual |
This two-argument version keeps a few records starting at a user-specified row number.
Note that the row number starts with 0, i.e., the first row has the row number 0.
Implements ibis::bundle.