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

This class represents a column with type T, is the base class for all typed column classes and allows a uniform handling of columns of a certain type T. More...

#include <column_base_typed.hpp>

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

List of all members.

Public Types

typedef
boost::unordered_multimap< T,
TID, boost::hash< T >
, std::equal_to< T > > 
HashTable

Public Member Functions

 ColumnBaseTyped (const std::string &name, AttributeType db_type)
virtual ~ColumnBaseTyped ()
virtual bool insert (const boost::any &new_Value)=0
 appends a value new_Value to end of column
virtual bool insert (const T &new_Value)=0
virtual bool update (TID tid, const boost::any &new_value)=0
 updates the value on position tid with a value new_Value
virtual bool update (PositionListPtr tid, const boost::any &new_value)=0
 updates the values specified by the position list with a value new_Value
virtual bool remove (TID tid)=0
 deletes the value on position tid
virtual bool remove (PositionListPtr tid)=0
 deletes the values defined in the position list
virtual bool clearContent ()=0
 deletes all values stored in the column
virtual const boost::any get (TID tid)=0
 generic function for fetching a value form a column (slow)
virtual void print () const =0 throw ()
 prints the content of a column
virtual size_t size () const =0 throw ()
 returns the number of values (rows) in a column
virtual unsigned int getSizeinBytes () const =0 throw ()
 returns the size in bytes the column consumes in main memory
virtual const ColumnPtr copy () const =0
 virtual copy constructor
virtual const PositionListPtr sort (SortOrder order)
 sorts a column w.r.t. a SortOrder
virtual const PositionListPtr selection (const boost::any &value_for_comparison, const ValueComparator comp)
 filters the values of a column according to a filter condition consisting of a comparison value and a ValueComparator (=,<,>)
virtual const PositionListPtr parallel_selection (const boost::any &value_for_comparison, const ValueComparator comp, unsigned int number_of_threads)
 filters the values of a column in parallel according to a filter condition consisting of a comparison value and a ValueComparator (=,<,>)
virtual const PositionListPairPtr hash_join (ColumnPtr join_column)
 joins two columns using the hash join algorithm
virtual const PositionListPairPtr sort_merge_join (ColumnPtr join_column)
 joins two columns using the sort merge join algorithm
virtual const PositionListPairPtr nested_loop_join (ColumnPtr join_column)
 joins two columns using the nested loop join algorithm
virtual bool add (const boost::any &new_Value)
 adds constant to column
virtual bool add (ColumnPtr join_column)
 vector addition of two columns
virtual bool minus (const boost::any &new_Value)
 substracts constant from column
virtual bool minus (ColumnPtr join_column)
 vector substraction of two columns
virtual bool multiply (const boost::any &new_Value)
 multiply constant with column
virtual bool multiply (ColumnPtr join_column)
 multiply two columns A and B
virtual bool division (const boost::any &new_Value)
 devide values in column by a constant
virtual bool division (ColumnPtr join_column)
 devide column A with column B
virtual bool store (const std::string &path)=0
 store a column on the disc
virtual bool load (const std::string &path)=0
 load column from disc
virtual bool isMaterialized () const =0 throw ()
 use this method to determine whether the column is materialized or a Lookup Column
virtual bool isCompressed () const =0 throw ()
 use this method to determine whether the column is materialized or a Lookup Column
virtual const std::type_info & type () const throw ()
 returns type information of internal values
virtual T & operator[] (const int index)=0
 defines operator[] for this class, which enables the user to thread all typed columns as arrays.
bool operator== (ColumnBaseTyped< T > &column)
 ColumnBaseTyped (const std::string &name, AttributeType db_type)
virtual ~ColumnBaseTyped ()
virtual bool insert (const boost::any &new_Value)=0
 appends a value new_Value to end of column
virtual bool insert (const T &new_Value)=0
virtual bool update (TID tid, const boost::any &new_value)=0
 updates the value on position tid with a value new_Value
virtual bool update (PositionListPtr tid, const boost::any &new_value)=0
 updates the values specified by the position list with a value new_Value
virtual bool remove (TID tid)=0
 deletes the value on position tid
virtual bool remove (PositionListPtr tid)=0
 deletes the values defined in the position list
virtual bool clearContent ()=0
 deletes all values stored in the column
virtual const boost::any get (TID tid)=0
 generic function for fetching a value form a column (slow)
virtual void print () const =0 throw ()
 prints the content of a column
virtual size_t size () const =0 throw ()
 returns the number of values (rows) in a column
virtual unsigned int getSizeinBytes () const =0 throw ()
 returns the size in bytes the column consumes in main memory
virtual const ColumnPtr copy () const =0
 virtual copy constructor
virtual const ColumnPtr gather (PositionListPtr tid_list)=0
 creates a new column by fetching all values identified by the tid_list
virtual const PositionListPtr sort (SortOrder order)
 sorts a column w.r.t. a SortOrder
virtual const PositionListPtr selection (const boost::any &value_for_comparison, const ValueComparator comp)
 filters the values of a column according to a filter condition consisting of a comparison value and a ValueComparator (=,<,>)
virtual const PositionListPtr selection (ColumnPtr, const ValueComparator comp)
 filters the values of a column according to a filter condition consisting of a comparison column and a ValueComparator (=,<,>). This implements the comparison of two values from two columns.
virtual const PositionListPtr parallel_selection (const boost::any &value_for_comparison, const ValueComparator comp, unsigned int number_of_threads)
 filters the values of a column in parallel according to a filter condition consisting of a comparison value and a ValueComparator (=,<,>)
virtual const PositionListPtr lock_free_parallel_selection (const boost::any &value_for_comparison, const ValueComparator comp, unsigned int number_of_threads)
virtual const PositionListPairPtr hash_join (ColumnPtr join_column)
 joins two columns using the hash join algorithm
virtual const PositionListPairPtr parallel_hash_join (ColumnPtr join_column, unsigned int number_of_threads)
 joins two columns using the hash join algorithm with a parallel pruning phase
virtual const PositionListPairPtr sort_merge_join (ColumnPtr join_column)
 joins two columns using the sort merge join algorithm
virtual const PositionListPairPtr nested_loop_join (ColumnPtr join_column)
 joins two columns using the nested loop join algorithm
virtual bool add (const boost::any &new_Value)
 adds constant to column
virtual bool add (ColumnPtr join_column)
 vector addition of two columns
virtual bool minus (const boost::any &new_Value)
 substracts constant from column
virtual bool minus (ColumnPtr join_column)
 vector substraction of two columns
virtual bool multiply (const boost::any &new_Value)
 multiply constant with column
virtual bool multiply (ColumnPtr join_column)
 multiply two columns A and B
virtual bool division (const boost::any &new_Value)
 devide values in column by a constant
virtual bool division (ColumnPtr join_column)
 devide column A with column B
virtual bool store (const std::string &path)=0
 store a column on the disc
virtual bool load (const std::string &path)=0
 load column from disc
virtual bool isMaterialized () const =0 throw ()
 use this method to determine whether the column is materialized or a Lookup Column
virtual bool isCompressed () const =0 throw ()
 use this method to determine whether the column is materialized or a Lookup Column
virtual const ColumnPtr materialize ()=0 throw ()
 materializes a column to a normal uncompressed column with dense values
virtual bool is_equal (ColumnPtr column)
 test this column and column for equality
virtual int compareValuesAtIndexes (TID id1, TID id2)
 compares the values of this column on position id1 with value at position id2
virtual const std::type_info & type () const throw ()
 returns type information of internal values
virtual T & operator[] (const int index)=0
 defines operator[] for this class, which enables the user to thread all typed columns as arrays.
bool operator== (ColumnBaseTyped< T > &column)
template<>
bool add (const boost::any &)
 adds constant to column
template<>
bool add (ColumnPtr)
 vector addition of two columns
template<>
bool minus (const boost::any &)
 substracts constant from column
template<>
bool minus (ColumnPtr)
 vector substraction of two columns
template<>
bool multiply (const boost::any &)
 multiply constant with column
template<>
bool multiply (ColumnPtr)
 multiply two columns A and B
template<>
bool division (const boost::any &)
 devide values in column by a constant
template<>
bool division (ColumnPtr)
 devide column A with column B
template<>
bool add (const boost::any &)
 adds constant to column
template<>
bool add (ColumnPtr)
 vector addition of two columns
template<>
bool minus (const boost::any &)
 substracts constant from column
template<>
bool minus (ColumnPtr)
 vector substraction of two columns
template<>
bool multiply (const boost::any &)
 multiply constant with column
template<>
bool multiply (ColumnPtr)
 multiply two columns A and B
template<>
bool division (const boost::any &)
 devide values in column by a constant
template<>
bool division (ColumnPtr)
 devide column A with column B

Static Public Member Functions

static void hash_join_pruning_thread (ColumnBaseTyped< T > *join_column, HashTable *hashtable, unsigned int *join_tids_table1, unsigned int *join_tids_table2, unsigned int thread_id, unsigned int number_of_threads, unsigned int *result_size)

Detailed Description

template<class T>
class CoGaDB::ColumnBaseTyped< T >

This class represents a column with type T, is the base class for all typed column classes and allows a uniform handling of columns of a certain type T.

This class is indentended to be a base class, so it has a virtual destruktor and pure virtual methods, which need to be implemented in a derived class. Furthermore, it declares pure virtual methods to allow a generic handling of typed columns, e.g., operator[]. All algorithms can be applied to a typed column, because of this operator. This abstracts from a columns implementation detail, e.g., whether they are compressed or not.

Author:
Sebastian Breß
Version:
0.2
Date:
2013

Member Typedef Documentation

template<class T>
typedef boost::unordered_multimap<T,TID,boost::hash<T>, std::equal_to<T> > CoGaDB::ColumnBaseTyped< T >::HashTable

Constructor & Destructor Documentation

template<class T >
CoGaDB::ColumnBaseTyped< T >::ColumnBaseTyped ( const std::string &  name,
AttributeType  db_type 
)
template<class T >
CoGaDB::ColumnBaseTyped< T >::~ColumnBaseTyped ( ) [virtual]
template<class T>
CoGaDB::ColumnBaseTyped< T >::ColumnBaseTyped ( const std::string &  name,
AttributeType  db_type 
)
template<class T>
virtual CoGaDB::ColumnBaseTyped< T >::~ColumnBaseTyped ( ) [virtual]

Member Function Documentation

template<class Type >
bool CoGaDB::ColumnBaseTyped< Type >::add ( const boost::any &  new_Value) [virtual]

adds constant to column

for all indeces i holds the following property: B[i]=A[i]+new_Value

Implements CoGaDB::ColumnBase.

template<class Type >
bool CoGaDB::ColumnBaseTyped< Type >::add ( ColumnPtr  column) [virtual]

vector addition of two columns

for all indeces i holds the following property: C[i]=A[i]+B[i]

Implements CoGaDB::ColumnBase.

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

adds constant to column

for all indeces i holds the following property: B[i]=A[i]+new_Value

Implements CoGaDB::ColumnBase.

template<class T>
virtual bool CoGaDB::ColumnBaseTyped< T >::add ( ColumnPtr  column) [virtual]

vector addition of two columns

for all indeces i holds the following property: C[i]=A[i]+B[i]

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::add ( const boost::any &  new_Value) [inline, virtual]

adds constant to column

for all indeces i holds the following property: B[i]=A[i]+new_Value

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::add ( ColumnPtr  column) [inline, virtual]

vector addition of two columns

for all indeces i holds the following property: C[i]=A[i]+B[i]

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::add ( const boost::any &  new_Value) [inline, virtual]

adds constant to column

for all indeces i holds the following property: B[i]=A[i]+new_Value

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::add ( ColumnPtr  column) [inline, virtual]

vector addition of two columns

for all indeces i holds the following property: C[i]=A[i]+B[i]

Implements CoGaDB::ColumnBase.

template<class T >
int CoGaDB::ColumnBaseTyped< T >::compareValuesAtIndexes ( TID  id1,
TID  id2 
) [virtual]

compares the values of this column on position id1 with value at position id2

Implements CoGaDB::ColumnBase.

template<class Type >
bool CoGaDB::ColumnBaseTyped< Type >::division ( const boost::any &  new_Value) [virtual]

devide values in column by a constant

for all indeces i holds the following property: B[i]=A[i]/new_Value

Implements CoGaDB::ColumnBase.

template<class Type >
bool CoGaDB::ColumnBaseTyped< Type >::division ( ColumnPtr  column) [virtual]

devide column A with column B

for all indeces i holds the following property: C[i]=A[i]/B[i]

Implements CoGaDB::ColumnBase.

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

devide values in column by a constant

for all indeces i holds the following property: B[i]=A[i]/new_Value

Implements CoGaDB::ColumnBase.

template<class T>
virtual bool CoGaDB::ColumnBaseTyped< T >::division ( ColumnPtr  column) [virtual]

devide column A with column B

for all indeces i holds the following property: C[i]=A[i]/B[i]

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::division ( const boost::any &  new_Value) [inline, virtual]

devide values in column by a constant

for all indeces i holds the following property: B[i]=A[i]/new_Value

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::division ( ColumnPtr  column) [inline, virtual]

devide column A with column B

for all indeces i holds the following property: C[i]=A[i]/B[i]

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::division ( const boost::any &  new_Value) [inline, virtual]

devide values in column by a constant

for all indeces i holds the following property: B[i]=A[i]/new_Value

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::division ( ColumnPtr  column) [inline, virtual]

devide column A with column B

for all indeces i holds the following property: C[i]=A[i]/B[i]

Implements CoGaDB::ColumnBase.

template<class T>
virtual const ColumnPtr CoGaDB::ColumnBaseTyped< T >::gather ( PositionListPtr  tid_list) [pure virtual]

creates a new column by fetching all values identified by the tid_list

Returns:
a ColumnPtr that contains only values from the tid_list

Implements CoGaDB::ColumnBase.

Implemented in CoGaDB::LookupArray< T >, CoGaDB::Column< T >, CoGaDB::CompressedColumn< T >, and CoGaDB::CompressedColumn< std::string >.

template<class T >
const PositionListPairPtr CoGaDB::ColumnBaseTyped< T >::hash_join ( ColumnPtr  join_column) [virtual]

joins two columns using the hash join algorithm

Returns:
PositionListPairPtr to a PositionListPair, which represents the result

Implements CoGaDB::ColumnBase.

template<class T>
virtual const PositionListPairPtr CoGaDB::ColumnBaseTyped< T >::hash_join ( ColumnPtr  join_column) [virtual]

joins two columns using the hash join algorithm

Returns:
PositionListPairPtr to a PositionListPair, which represents the result

Implements CoGaDB::ColumnBase.

template<typename T>
void CoGaDB::ColumnBaseTyped< T >::hash_join_pruning_thread ( ColumnBaseTyped< T > *  join_column,
HashTable hashtable,
unsigned int *  join_tids_table1,
unsigned int *  join_tids_table2,
unsigned int  thread_id,
unsigned int  number_of_threads,
unsigned int *  result_size 
) [static]

References CoGaDB::debug, CoGaDB::quiet, CoGaDB::ColumnBaseTyped< T >::size(), and CoGaDB::verbose.

Here is the call graph for this function:

template<class T >
bool CoGaDB::ColumnBaseTyped< T >::is_equal ( ColumnPtr  column) [virtual]

test this column and column for equality

Returns:
returns true if columns are equal and false otherwise

Implements CoGaDB::ColumnBase.

References CoGaDB::ColumnBaseTyped< T >::size().

Here is the call graph for this function:

template<class T>
virtual bool CoGaDB::ColumnBaseTyped< T >::isCompressed ( ) const throw () [pure virtual]

use this method to determine whether the column is materialized or a Lookup Column

Returns:
true in case the column is storing the compressed values and false otherwise.

Implements CoGaDB::ColumnBase.

Implemented in CoGaDB::LookupArray< T >, CoGaDB::LookupArray< T >, CoGaDB::CompressedColumn< T >, CoGaDB::CompressedColumn< std::string >, CoGaDB::DictionaryCompressedColumn< T >, CoGaDB::Column< T >, CoGaDB::CompressedColumn< T >, CoGaDB::CompressedColumn< std::string >, CoGaDB::Column< T >, and CoGaDB::RowValueColumn< T >.

template<class T>
virtual bool CoGaDB::ColumnBaseTyped< T >::isCompressed ( ) const throw () [pure virtual]

use this method to determine whether the column is materialized or a Lookup Column

Returns:
true in case the column is storing the compressed values and false otherwise.

Implements CoGaDB::ColumnBase.

Implemented in CoGaDB::LookupArray< T >, CoGaDB::LookupArray< T >, CoGaDB::CompressedColumn< T >, CoGaDB::CompressedColumn< std::string >, CoGaDB::DictionaryCompressedColumn< T >, CoGaDB::Column< T >, CoGaDB::CompressedColumn< T >, CoGaDB::CompressedColumn< std::string >, CoGaDB::Column< T >, and CoGaDB::RowValueColumn< T >.

template<class T>
virtual bool CoGaDB::ColumnBaseTyped< T >::isMaterialized ( ) const throw () [pure virtual]

use this method to determine whether the column is materialized or a Lookup Column

Returns:
true in case the column is storing the plain values (without compression) and false in case the column is a LookupColumn.

Implements CoGaDB::ColumnBase.

Implemented in CoGaDB::RowValueColumn< T >, CoGaDB::LookupArray< T >, CoGaDB::LookupArray< T >, CoGaDB::Column< T >, CoGaDB::CompressedColumn< T >, CoGaDB::CompressedColumn< std::string >, CoGaDB::DictionaryCompressedColumn< T >, CoGaDB::CompressedColumn< T >, CoGaDB::CompressedColumn< std::string >, and CoGaDB::Column< T >.

template<class T>
virtual bool CoGaDB::ColumnBaseTyped< T >::isMaterialized ( ) const throw () [pure virtual]

use this method to determine whether the column is materialized or a Lookup Column

Returns:
true in case the column is storing the plain values (without compression) and false in case the column is a LookupColumn.

Implements CoGaDB::ColumnBase.

Implemented in CoGaDB::RowValueColumn< T >, CoGaDB::LookupArray< T >, CoGaDB::LookupArray< T >, CoGaDB::Column< T >, CoGaDB::CompressedColumn< T >, CoGaDB::CompressedColumn< std::string >, CoGaDB::DictionaryCompressedColumn< T >, CoGaDB::CompressedColumn< T >, CoGaDB::CompressedColumn< std::string >, and CoGaDB::Column< T >.

template<class T >
const PositionListPtr CoGaDB::ColumnBaseTyped< T >::lock_free_parallel_selection ( const boost::any &  value_for_comparison,
const ValueComparator  comp,
unsigned int  number_of_threads 
) [virtual]
template<class T>
virtual const ColumnPtr CoGaDB::ColumnBaseTyped< T >::materialize ( ) throw () [pure virtual]

materializes a column to a normal uncompressed column with dense values

Returns:
a ColumnPtr to an materialized column

Implements CoGaDB::ColumnBase.

Implemented in CoGaDB::LookupArray< T >, CoGaDB::CompressedColumn< T >, CoGaDB::CompressedColumn< std::string >, and CoGaDB::Column< T >.

template<class Type >
bool CoGaDB::ColumnBaseTyped< Type >::minus ( const boost::any &  new_Value) [virtual]

substracts constant from column

for all indeces i holds the following property: B[i]=A[i]-new_Value

Implements CoGaDB::ColumnBase.

template<class Type >
bool CoGaDB::ColumnBaseTyped< Type >::minus ( ColumnPtr  column) [virtual]

vector substraction of two columns

for all indeces i holds the following property: C[i]=A[i]-B[i]

Implements CoGaDB::ColumnBase.

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

substracts constant from column

for all indeces i holds the following property: B[i]=A[i]-new_Value

Implements CoGaDB::ColumnBase.

template<class T>
virtual bool CoGaDB::ColumnBaseTyped< T >::minus ( ColumnPtr  column) [virtual]

vector substraction of two columns

for all indeces i holds the following property: C[i]=A[i]-B[i]

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::minus ( const boost::any &  new_Value) [inline, virtual]

substracts constant from column

for all indeces i holds the following property: B[i]=A[i]-new_Value

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::minus ( ColumnPtr  column) [inline, virtual]

vector substraction of two columns

for all indeces i holds the following property: C[i]=A[i]-B[i]

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::minus ( const boost::any &  new_Value) [inline, virtual]

substracts constant from column

for all indeces i holds the following property: B[i]=A[i]-new_Value

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::minus ( ColumnPtr  column) [inline, virtual]

vector substraction of two columns

for all indeces i holds the following property: C[i]=A[i]-B[i]

Implements CoGaDB::ColumnBase.

template<class Type >
bool CoGaDB::ColumnBaseTyped< Type >::multiply ( const boost::any &  new_Value) [virtual]

multiply constant with column

for all indeces i holds the following property: B[i]=A[i]*new_Value

Implements CoGaDB::ColumnBase.

template<class Type >
bool CoGaDB::ColumnBaseTyped< Type >::multiply ( ColumnPtr  column) [virtual]

multiply two columns A and B

for all indeces i holds the following property: C[i]=A[i]*B[i]

Implements CoGaDB::ColumnBase.

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

multiply constant with column

for all indeces i holds the following property: B[i]=A[i]*new_Value

Implements CoGaDB::ColumnBase.

template<class T>
virtual bool CoGaDB::ColumnBaseTyped< T >::multiply ( ColumnPtr  column) [virtual]

multiply two columns A and B

for all indeces i holds the following property: C[i]=A[i]*B[i]

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::multiply ( const boost::any &  new_Value) [inline, virtual]

multiply constant with column

for all indeces i holds the following property: B[i]=A[i]*new_Value

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::multiply ( ColumnPtr  column) [inline, virtual]

multiply two columns A and B

for all indeces i holds the following property: C[i]=A[i]*B[i]

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::multiply ( const boost::any &  new_Value) [inline, virtual]

multiply constant with column

for all indeces i holds the following property: B[i]=A[i]*new_Value

Implements CoGaDB::ColumnBase.

template<>
bool CoGaDB::ColumnBaseTyped< std::string >::multiply ( ColumnPtr  column) [inline, virtual]

multiply two columns A and B

for all indeces i holds the following property: C[i]=A[i]*B[i]

Implements CoGaDB::ColumnBase.

template<class Type >
const PositionListPairPtr CoGaDB::ColumnBaseTyped< Type >::nested_loop_join ( ColumnPtr  join_column) [virtual]

joins two columns using the nested loop join algorithm

Returns:
PositionListPairPtr to a PositionListPair, which represents the result

Implements CoGaDB::ColumnBase.

References CoGaDB::debug.

template<class T>
virtual const PositionListPairPtr CoGaDB::ColumnBaseTyped< T >::nested_loop_join ( ColumnPtr  join_column) [virtual]

joins two columns using the nested loop join algorithm

Returns:
PositionListPairPtr to a PositionListPair, which represents the result

Implements CoGaDB::ColumnBase.

template<class T>
bool CoGaDB::ColumnBaseTyped< T >::operator== ( ColumnBaseTyped< T > &  column) [inline]

References CoGaDB::ColumnBaseTyped< T >::size().

Here is the call graph for this function:

template<class T>
bool CoGaDB::ColumnBaseTyped< T >::operator== ( ColumnBaseTyped< T > &  column) [inline]
template<class T >
const PositionListPairPtr CoGaDB::ColumnBaseTyped< T >::parallel_hash_join ( ColumnPtr  join_column,
unsigned int  number_of_threads 
) [virtual]

joins two columns using the hash join algorithm with a parallel pruning phase

Returns:
PositionListPairPtr to a PositionListPair, which represents the result

Implements CoGaDB::ColumnBase.

References CoGaDB::debug, CoGaDB::ColumnBaseTyped< T >::get(), CoGaDB::ColumnBase::getName(), CoGaDB::getTimestamp(), CoGaDB::quiet, and CoGaDB::verbose.

Here is the call graph for this function:

template<class T >
const PositionListPtr CoGaDB::ColumnBaseTyped< T >::parallel_selection ( const boost::any &  value_for_comparison,
const ValueComparator  comp,
unsigned int  number_of_threads 
) [virtual]

filters the values of a column in parallel according to a filter condition consisting of a comparison value and a ValueComparator (=,<,>)

the additional parameter specifies the number of threads that may be used to perform the operation

Returns:
PositionListPtr to a PositionList, which represents the result

Implements CoGaDB::ColumnBase.

template<class T>
virtual const PositionListPtr CoGaDB::ColumnBaseTyped< T >::parallel_selection ( const boost::any &  value_for_comparison,
const ValueComparator  comp,
unsigned int  number_of_threads 
) [virtual]

filters the values of a column in parallel according to a filter condition consisting of a comparison value and a ValueComparator (=,<,>)

the additional parameter specifies the number of threads that may be used to perform the operation

Returns:
PositionListPtr to a PositionList, which represents the result

Implements CoGaDB::ColumnBase.

template<class T >
const PositionListPtr CoGaDB::ColumnBaseTyped< T >::selection ( const boost::any &  value_for_comparison,
const ValueComparator  comp 
) [virtual]

filters the values of a column according to a filter condition consisting of a comparison value and a ValueComparator (=,<,>)

Returns:
PositionListPtr to a PositionList, which represents the result

Implements CoGaDB::ColumnBase.

Reimplemented in CoGaDB::Column< T >.

References CoGaDB::EQUAL, CoGaDB::GREATER, CoGaDB::LESSER, and CoGaDB::quiet.

template<class T>
virtual const PositionListPtr CoGaDB::ColumnBaseTyped< T >::selection ( const boost::any &  value_for_comparison,
const ValueComparator  comp 
) [virtual]

filters the values of a column according to a filter condition consisting of a comparison value and a ValueComparator (=,<,>)

Returns:
PositionListPtr to a PositionList, which represents the result

Implements CoGaDB::ColumnBase.

Reimplemented in CoGaDB::Column< T >.

template<class T >
const PositionListPtr CoGaDB::ColumnBaseTyped< T >::selection ( ColumnPtr  ,
const ValueComparator  comp 
) [virtual]

filters the values of a column according to a filter condition consisting of a comparison column and a ValueComparator (=,<,>). This implements the comparison of two values from two columns.

Returns:
PositionListPtr to a PositionList, which represents the result

Implements CoGaDB::ColumnBase.

Reimplemented in CoGaDB::Column< T >.

References CoGaDB::EQUAL, CoGaDB::GREATER, CoGaDB::GREATER_EQUAL, CoGaDB::LESSER, CoGaDB::LESSER_EQUAL, CoGaDB::ColumnBase::name_, CoGaDB::quiet, and CoGaDB::ColumnBaseTyped< T >::size().

Here is the call graph for this function:

template<class T >
const PositionListPtr CoGaDB::ColumnBaseTyped< T >::sort ( SortOrder  order) [virtual]

sorts a column w.r.t. a SortOrder

Returns:
PositionListPtr to a PositionList, which represents the result

Implements CoGaDB::ColumnBase.

References CoGaDB::ASCENDING, and CoGaDB::DESCENDING.

template<class T>
virtual const PositionListPtr CoGaDB::ColumnBaseTyped< T >::sort ( SortOrder  order) [virtual]

sorts a column w.r.t. a SortOrder

Returns:
PositionListPtr to a PositionList, which represents the result

Implements CoGaDB::ColumnBase.

template<class Type >
const PositionListPairPtr CoGaDB::ColumnBaseTyped< Type >::sort_merge_join ( ColumnPtr  join_column) [virtual]

joins two columns using the sort merge join algorithm

Returns:
PositionListPairPtr to a PositionListPair, which represents the result

Implements CoGaDB::ColumnBase.

template<class T>
virtual const PositionListPairPtr CoGaDB::ColumnBaseTyped< T >::sort_merge_join ( ColumnPtr  join_column) [virtual]

joins two columns using the sort merge join algorithm

Returns:
PositionListPairPtr to a PositionListPair, which represents the result

Implements CoGaDB::ColumnBase.

template<class T >
const std::type_info & CoGaDB::ColumnBaseTyped< T >::type ( ) const throw () [virtual]

returns type information of internal values

Implements CoGaDB::ColumnBase.

Reimplemented in CoGaDB::RowValueColumn< T >.

Referenced by CoGaDB::createLookupArrayForColumn(), CoGaDB::getPositonListfromLookupArray(), and CoGaDB::Column< T >::selection().

Here is the caller graph for this function:

template<class T>
virtual const std::type_info& CoGaDB::ColumnBaseTyped< T >::type ( ) const throw () [virtual]

returns type information of internal values

Implements CoGaDB::ColumnBase.

Reimplemented in CoGaDB::RowValueColumn< T >.


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