Public Member Functions | List of all members
ibis::bundles Class Reference

The bundle with multiple components. More...

#include <bundle.h>

Inheritance diagram for ibis::bundles:
ibis::bundle

Public Member Functions

 bundles (const ibis::query &, int=0)
 Constructor. More...
 
 bundles (const ibis::query &, const ibis::bitvector &, int=0)
 Constructor. More...
 
 bundles (const ibis::part &, const ibis::selectClause &, int=0)
 Constructor. It creates a bundle from 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::columncolumnPointer (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 number. 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 number. 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 out the bundles without RIDs.
 
virtual void printAll (std::ostream &out) const
 Print out the bundles with RIDs.
 
virtual void printColumnNames (std::ostream &out) const
 Print column names.
 
virtual void reorder (const char *)
 Reorder the bundles according to the keys (names) given. More...
 
virtual uint32_t size () const
 Return the number of bundles.
 
virtual long truncate (uint32_t keep)
 This single-arugment version of the function truncate keeps the first few rows. More...
 
virtual long truncate (uint32_t keep, uint32_t start)
 This two-argument version of the function keeps a few rows after a specified starting point. More...
 
virtual long truncate (const char *names, uint32_t keep)
 Reorder the bundles according to the keys (names) given. More...
 
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.
 
- Public Member Functions inherited from ibis::bundle
const ibis::RIDSetgetRIDs (uint32_t ind) const
 Return the RIDs of the indth bundle.
 
const ibis::RIDSetgetRIDs () 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 bundlecreate (const ibis::query &, int=0)
 Create new bundle from a query object. More...
 
static bundlecreate (const ibis::query &, const ibis::bitvector &, int=0)
 Create a new bundle from previously stored information.
 
static bundlecreate (const ibis::part &, const ibis::selectClause &, int=0)
 Create a bundle using the all values of the partition.
 
static const ibis::RIDSetreadRIDs (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::selectClausecomps
 
const char * id
 
bool infile
 
ibis::RIDSetrids
 
array_t< uint32_t > * starts
 

Detailed Description

The bundle with multiple components.

Constructor & Destructor Documentation

ibis::bundles::bundles ( const ibis::query q,
int  dir = 0 
)
explicit
ibis::bundles::bundles ( const ibis::query q,
const ibis::bitvector hits,
int  dir = 0 
)

Member Function Documentation

virtual void* ibis::bundles::columnArray ( uint32_t  ) const
inlinevirtual

Return the pointer to the underlying array used to store the jth column of the bundle.

Reimplemented from ibis::bundle.

virtual ibis::TYPE_T ibis::bundles::columnType ( uint32_t  ) const
inlinevirtual

Return the type used to store the values of the jth column of the bundle.

Reimplemented from ibis::bundle.

References ibis::UNKNOWN_TYPE.

double ibis::bundles::getDouble ( uint32_t  i,
uint32_t  j 
) const
virtual

Retrieve the value of i-th row j-th column as a 64-bit floating-point number.

Return the maximal value defined in the class numeric_limits if indices i and j are out of bounds.

Reimplemented from ibis::bundle.

float ibis::bundles::getFloat ( uint32_t  i,
uint32_t  j 
) const
virtual

Retrieve the value of i-th row j-th column as a 32-bit floating-point number.

Return the maximal value defined in the class numeric_limits if indices i and j are out of bounds.

Reimplemented from ibis::bundle.

int32_t ibis::bundles::getInt ( uint32_t  i,
uint32_t  j 
) const
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 indices i and j are out of bounds.

Reimplemented from ibis::bundle.

int64_t ibis::bundles::getLong ( uint32_t  i,
uint32_t  j 
) const
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 indices i and j are out of bounds.

Reimplemented from ibis::bundle.

std::string ibis::bundles::getString ( uint32_t  i,
uint32_t  j 
) const
virtual

Retrieve the value of i-th row j-th column as a string.

Convert the value to its string representation through std::ostringstream.

Reimplemented from ibis::bundle.

uint32_t ibis::bundles::getUInt ( uint32_t  i,
uint32_t  j 
) const
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 indices i and j are out of bounds.

Reimplemented from ibis::bundle.

uint64_t ibis::bundles::getULong ( uint32_t  i,
uint32_t  j 
) const
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 indices i and j are out of bounds.

Reimplemented from ibis::bundle.

void ibis::bundles::reorder ( const char *  names)
virtual

Reorder the bundles according to the keys (names) given.

If the argument direction is a negative number, the rows are reversed after sorting. Even if no sorting is done, the reversal of rows is still performed.

turn counts back into starting positions (starts)

Implements ibis::bundle.

References ibis::array_t< T >::find(), ibis::array_t< T >::push_back(), ibis::util::reorder(), ibis::array_t< T >::reserve(), ibis::nameList::select(), ibis::array_t< T >::size(), ibis::array_t< T >::sort(), ibis::array_t< T >::swap(), and ibis::TYPESTRING.

long ibis::bundles::truncate ( uint32_t  keep)
virtual

This single-arugment version of the function truncate keeps the first few rows.

Implements ibis::bundle.

long ibis::bundles::truncate ( uint32_t  keep,
uint32_t  start 
)
virtual

This two-argument version of the function keeps a few rows after a specified starting point.

Implements ibis::bundle.

long ibis::bundles::truncate ( const char *  names,
uint32_t  keep 
)
virtual

Reorder the bundles according to the keys (names) given.

Keep only the first keep elements. If direction < 0, keep the largest ones, otherwise keep the smallest ones.

turn counts back into starting positions (starts)

Implements ibis::bundle.

References ibis::array_t< T >::bottomk(), ibis::array_t< T >::find(), ibis::array_t< T >::push_back(), ibis::util::reorder(), ibis::array_t< T >::reserve(), ibis::nameList::select(), ibis::array_t< T >::size(), ibis::array_t< T >::sort(), ibis::array_t< T >::swap(), and ibis::TYPESTRING.


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

Make It A Bit Faster
Contact us
Disclaimers
FastBit source code
FastBit mailing list archive