Column-oriented GPU-accelerated Database Management System
CoGaDB
CoGaDB::BitVectorCompressedColumn< T > Class Template Reference

This class represents a bit vector compressed column with type T, is the base class for all compressed typed column classes. More...

#include <bit_vector_compressed_column.hpp>

Inheritance diagram for CoGaDB::BitVectorCompressedColumn< T >:
Collaboration diagram for CoGaDB::BitVectorCompressedColumn< T >:

List of all members.

Public Member Functions

 BitVectorCompressedColumn (const sstring &name, AttributeType db_type)
 ~BitVectorCompressedColumn ()
bool insert (const boost::any &new_value)
 appends a value new_Value to end of column
bool insert (const T &new_value)
template<typename InputIterator >
bool insert (InputIterator first, InputIterator last)
bool update (TID tid, const boost::any &new_value)
 updates the value on position tid with a value new_Value
bool update (PositionListPtr tids, const boost::any &new_value)
 updates the values specified by the position list with a value new_Value
bool remove (TID tid)
 deletes the value on position tid
bool remove (PositionListPtr tids)
 deletes the values defined in the position list
bool clearContent ()
 deletes all values stored in the column
const boost::any get (TID tid)
 generic function for fetching a value form a column (slow)
void print () const throw ()
 prints the content of a column
size_t size () const throw ()
 returns the number of values (rows) in a column
unsigned int getSizeinBytes () const throw ()
 returns the size in bytes the column consumes in main memory
const ColumnPtr copy () const
 virtual copy constructor
bool store (const sstring &path_)
 store a column on the disc
bool load (const sstring &path_)
 load column from disc
T & operator[] (const int index)
 defines operator[] for this class, which enables the user to thread all typed columns as arrays.
 BitVectorCompressedColumn (const sstring &name, AttributeType db_type)
 ~BitVectorCompressedColumn ()
bool insert (const boost::any &new_value)
 appends a value new_Value to end of column
bool insert (const T &new_value)
template<typename InputIterator >
bool insert (InputIterator first, InputIterator last)
bool update (TID tid, const boost::any &new_value)
 updates the value on position tid with a value new_Value
bool update (PositionListPtr tids, const boost::any &new_value)
 updates the values specified by the position list with a value new_Value
bool remove (TID tid)
 deletes the value on position tid
bool remove (PositionListPtr tids)
 deletes the values defined in the position list
bool clearContent ()
 deletes all values stored in the column
const boost::any get (TID tid)
 generic function for fetching a value form a column (slow)
void print () const throw ()
 prints the content of a column
size_t size () const throw ()
 returns the number of values (rows) in a column
unsigned int getSizeinBytes () const throw ()
 returns the size in bytes the column consumes in main memory
const ColumnPtr copy () const
 virtual copy constructor
bool store (const sstring &path_)
 store a column on the disc
bool load (const sstring &path_)
 load column from disc
T & operator[] (const int index)
 defines operator[] for this class, which enables the user to thread all typed columns as arrays.

Private Member Functions

bool reorganizeAfterInsert (const T &new_Value)
void reorganizeAfterRemove (TID tid)
sstring buildNewKey ()
sstring buildNewKey (TID tid)
sstring getPath (const sstring &path_)
int countValueForKey (const sstring key)
sstring getKey (const int index)
bool reorganizeAfterInsert (const T &new_Value)
void reorganizeAfterRemove (TID tid)
sstring buildNewKey ()
sstring buildNewKey (TID tid)
sstring getPath (const sstring &path_)
int countValueForKey (const sstring key)
sstring getKey (const int index)

Private Attributes

std::map< sstring, T > bitVectorMap

Detailed Description

template<class T>
class CoGaDB::BitVectorCompressedColumn< T >

This class represents a bit vector compressed column with type T, is the base class for all compressed typed column classes.


Constructor & Destructor Documentation

template<class T >
CoGaDB::BitVectorCompressedColumn< T >::BitVectorCompressedColumn ( const sstring name,
AttributeType  db_type 
)
template<class T >
CoGaDB::BitVectorCompressedColumn< T >::BitVectorCompressedColumn ( const sstring name,
AttributeType  db_type 
)

Member Function Documentation

template<typename T >
sstring CoGaDB::BitVectorCompressedColumn< T >::buildNewKey ( ) [private]
template<class T >
sstring CoGaDB::BitVectorCompressedColumn< T >::buildNewKey ( ) [private]
template<typename T >
sstring CoGaDB::BitVectorCompressedColumn< T >::buildNewKey ( TID  tid) [private]

References CoGaDB::one, and CoGaDB::zero.

template<class T >
sstring CoGaDB::BitVectorCompressedColumn< T >::buildNewKey ( TID  tid) [private]
template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::clearContent ( ) [virtual]

deletes all values stored in the column

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::clearContent ( ) [virtual]

deletes all values stored in the column

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
const ColumnPtr CoGaDB::BitVectorCompressedColumn< T >::copy ( ) const [virtual]

virtual copy constructor

Returns:
a ColumnPtr to an exakt copy of the current column

Implements CoGaDB::CompressedColumn< T >.

template<class T >
const ColumnPtr CoGaDB::BitVectorCompressedColumn< T >::copy ( ) const [virtual]

virtual copy constructor

Returns:
a ColumnPtr to an exakt copy of the current column

Implements CoGaDB::CompressedColumn< T >.

template<class T >
int CoGaDB::BitVectorCompressedColumn< T >::countValueForKey ( const sstring  key) [private]

References CoGaDB::one.

template<class T >
int CoGaDB::BitVectorCompressedColumn< T >::countValueForKey ( const sstring  key) [private]
template<class T >
const boost::any CoGaDB::BitVectorCompressedColumn< T >::get ( TID  tid) [virtual]

generic function for fetching a value form a column (slow)

check whether the object is valid (e.g., when a tid is not valid, then the returned object is invalid as well)

Returns:
object of type boost::any containing the value on position tid

Implements CoGaDB::CompressedColumn< T >.

template<class T >
const boost::any CoGaDB::BitVectorCompressedColumn< T >::get ( TID  tid) [virtual]

generic function for fetching a value form a column (slow)

check whether the object is valid (e.g., when a tid is not valid, then the returned object is invalid as well)

Returns:
object of type boost::any containing the value on position tid

Implements CoGaDB::CompressedColumn< T >.

template<class T >
sstring CoGaDB::BitVectorCompressedColumn< T >::getKey ( const int  index) [private]
template<class T >
sstring CoGaDB::BitVectorCompressedColumn< T >::getKey ( const int  index) [private]

References CoGaDB::one.

template<class T >
sstring CoGaDB::BitVectorCompressedColumn< T >::getPath ( const sstring path_) [private]

References CoGaDB::util::getName().

Here is the call graph for this function:

template<class T >
sstring CoGaDB::BitVectorCompressedColumn< T >::getPath ( const sstring path_) [private]
template<class T >
unsigned int CoGaDB::BitVectorCompressedColumn< T >::getSizeinBytes ( ) const throw () [virtual]

returns the size in bytes the column consumes in main memory

Implements CoGaDB::CompressedColumn< T >.

template<class T >
unsigned int CoGaDB::BitVectorCompressedColumn< T >::getSizeinBytes ( ) const throw () [virtual]

returns the size in bytes the column consumes in main memory

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::insert ( const boost::any &  new_Value) [virtual]

appends a value new_Value to end of column

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::insert ( const boost::any &  new_Value) [virtual]

appends a value new_Value to end of column

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::insert ( const T &  new_value) [virtual]
template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::insert ( const T &  new_value) [virtual]
template<typename T >
template<typename InputIterator >
bool CoGaDB::BitVectorCompressedColumn< T >::insert ( InputIterator  first,
InputIterator  last 
)
template<class T >
template<typename InputIterator >
bool CoGaDB::BitVectorCompressedColumn< T >::insert ( InputIterator  first,
InputIterator  last 
)
template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::load ( const sstring path) [virtual]

load column from disc

calling load on a column that is not empty yields undefined behaviour

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::load ( const sstring path) [virtual]

load column from disc

calling load on a column that is not empty yields undefined behaviour

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
T & CoGaDB::BitVectorCompressedColumn< T >::operator[] ( const int  index) [virtual]

defines operator[] for this class, which enables the user to thread all typed columns as arrays.

Note that this method is pure virtual, so it has to be defined in a derived class.

Returns:
a reference to the value at position index

Implements CoGaDB::CompressedColumn< T >.

template<class T >
T& CoGaDB::BitVectorCompressedColumn< T >::operator[] ( const int  index) [virtual]

defines operator[] for this class, which enables the user to thread all typed columns as arrays.

Note that this method is pure virtual, so it has to be defined in a derived class.

Returns:
a reference to the value at position index

Implements CoGaDB::CompressedColumn< T >.

template<class T >
void CoGaDB::BitVectorCompressedColumn< T >::print ( ) const throw () [virtual]

prints the content of a column

Implements CoGaDB::CompressedColumn< T >.

template<class T >
void CoGaDB::BitVectorCompressedColumn< T >::print ( ) const throw () [virtual]

prints the content of a column

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::remove ( TID  tid) [virtual]

deletes the value on position tid

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::remove ( TID  tid) [virtual]

deletes the value on position tid

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::remove ( PositionListPtr  tid) [virtual]

deletes the values defined in the position list

assumes tid list is sorted ascending

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::remove ( PositionListPtr  tid) [virtual]

deletes the values defined in the position list

assumes tid list is sorted ascending

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<typename T >
bool CoGaDB::BitVectorCompressedColumn< T >::reorganizeAfterInsert ( const T &  new_Value) [private]

References CoGaDB::one, and CoGaDB::zero.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::reorganizeAfterInsert ( const T &  new_Value) [private]
template<class T >
void CoGaDB::BitVectorCompressedColumn< T >::reorganizeAfterRemove ( TID  tid) [private]
template<class T >
void CoGaDB::BitVectorCompressedColumn< T >::reorganizeAfterRemove ( TID  tid) [private]
template<class T >
size_t CoGaDB::BitVectorCompressedColumn< T >::size ( ) const throw () [virtual]

returns the number of values (rows) in a column

Implements CoGaDB::CompressedColumn< T >.

template<class T >
size_t CoGaDB::BitVectorCompressedColumn< T >::size ( ) const throw () [virtual]

returns the number of values (rows) in a column

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::store ( const sstring path) [virtual]

store a column on the disc

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::store ( const sstring path) [virtual]

store a column on the disc

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::update ( TID  tid,
const boost::any &  new_Value 
) [virtual]

updates the value on position tid with a value new_Value

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

References CoGaDB::zero.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::update ( TID  tid,
const boost::any &  new_Value 
) [virtual]

updates the value on position tid with a value new_Value

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::update ( PositionListPtr  tids,
const boost::any &  new_value 
) [virtual]

updates the values specified by the position list with a value new_Value

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.

template<class T >
bool CoGaDB::BitVectorCompressedColumn< T >::update ( PositionListPtr  tids,
const boost::any &  new_value 
) [virtual]

updates the values specified by the position list with a value new_Value

Returns:
true for sucess and false in case an error occured

Implements CoGaDB::CompressedColumn< T >.


Member Data Documentation

template<class T >
std::map< sstring, T > CoGaDB::BitVectorCompressedColumn< T >::bitVectorMap [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines