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

#include <gpu_typed_base_column.hpp>

Inheritance diagram for CoGaDB::gpu::GPU_Typed_Base_Column< T >:
Collaboration diagram for CoGaDB::gpu::GPU_Typed_Base_Column< T >:

List of all members.

Public Member Functions

 GPU_Typed_Base_Column (const std::string &name, AttributeType db_type)
virtual ~GPU_Typed_Base_Column ()
bool insert_from_host_memory (const std::vector< T > &host_column)
bool insert_from_device_memory_in_host_vector (std::vector< T > &host_column)
virtual bool insert (const boost::any &new_Value)
virtual bool update (TID tid, const boost::any &new_Value)
virtual bool remove (TID tid)
virtual const boost::any get (TID tid)
virtual bool add (const boost::any &new_Value)
 adds constant to column
virtual bool add (shared_pointer_namespace::shared_ptr< GPU_Base_Column > column)
 vector addition of two columns
virtual bool minus (const boost::any &new_Value)
 substracts constant from column
virtual bool minus (shared_pointer_namespace::shared_ptr< GPU_Base_Column > column)
 vector substraction of two columns
virtual bool multiply (const boost::any &new_Value)
 multiply constant with column
virtual bool multiply (shared_pointer_namespace::shared_ptr< GPU_Base_Column > 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 (shared_pointer_namespace::shared_ptr< GPU_Base_Column > column)
 devide column A with column B
virtual const
shared_pointer_namespace::shared_ptr
< GPU_Base_Column
copy () const
virtual const
shared_pointer_namespace::shared_ptr
< GPU_Base_Column
materialize (shared_pointer_namespace::shared_ptr< GPU_Positionlist > pos_list) const
virtual void print () const throw ()
virtual size_t size () const throw ()
virtual const std::type_info & type () const throw ()
thrust::device_vector< T > & getContent ()
 returns database type of column (as defined in "SQL" statement)
template<>
bool add (const boost::any &)
 adds constant to column
template<>
bool add (GPU_Base_ColumnPtr)
template<>
bool minus (const boost::any &)
 substracts constant from column
template<>
bool minus (GPU_Base_ColumnPtr)
template<>
bool multiply (const boost::any &)
 multiply constant with column
template<>
bool multiply (GPU_Base_ColumnPtr)
template<>
bool division (const boost::any &)
 devide values in column by a constant
template<>
bool division (GPU_Base_ColumnPtr)

Protected Attributes

thrust::device_vector< T > data_

Friends

const ColumnPtr copy_column_device_to_host (GPU_Base_ColumnPtr device_column)

template<typename T>
class CoGaDB::gpu::GPU_Typed_Base_Column< T >


Constructor & Destructor Documentation

template<typename T >
CoGaDB::gpu::GPU_Typed_Base_Column< T >::GPU_Typed_Base_Column ( const std::string &  name,
AttributeType  db_type 
) [explicit]
template<typename T >
CoGaDB::gpu::GPU_Typed_Base_Column< T >::~GPU_Typed_Base_Column ( ) [virtual]

Member Function Documentation

template<class Type >
bool CoGaDB::gpu::GPU_Typed_Base_Column< 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::gpu::GPU_Base_Column.

template<class Type >
bool CoGaDB::gpu::GPU_Typed_Base_Column< Type >::add ( shared_pointer_namespace::shared_ptr< GPU_Base_Column column) [virtual]

vector addition of two columns

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

Implements CoGaDB::gpu::GPU_Base_Column.

template<>
bool CoGaDB::gpu::GPU_Typed_Base_Column< 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::gpu::GPU_Base_Column.

template<>
bool CoGaDB::gpu::GPU_Typed_Base_Column< std::string >::add ( GPU_Base_ColumnPtr  ) [inline]
template<typename T >
const GPU_Base_ColumnPtr CoGaDB::gpu::GPU_Typed_Base_Column< T >::copy ( ) const [virtual]
template<class Type >
bool CoGaDB::gpu::GPU_Typed_Base_Column< 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::gpu::GPU_Base_Column.

template<typename T>
bool CoGaDB::gpu::GPU_Typed_Base_Column< Type >::division ( shared_pointer_namespace::shared_ptr< GPU_Base_Column column) [virtual]

devide column A with column B

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

Implements CoGaDB::gpu::GPU_Base_Column.

template<>
bool CoGaDB::gpu::GPU_Typed_Base_Column< 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::gpu::GPU_Base_Column.

template<>
bool CoGaDB::gpu::GPU_Typed_Base_Column< std::string >::division ( GPU_Base_ColumnPtr  ) [inline]
template<typename T >
const boost::any CoGaDB::gpu::GPU_Typed_Base_Column< T >::get ( TID  tid) [virtual]
template<typename T >
thrust::device_vector< T > & CoGaDB::gpu::GPU_Typed_Base_Column< T >::getContent ( )

returns database type of column (as defined in "SQL" statement)

Referenced by CoGaDB::gpu::GPU_Typed_Base_Column< T >::materialize().

Here is the caller graph for this function:

template<typename T >
bool CoGaDB::gpu::GPU_Typed_Base_Column< T >::insert ( const boost::any &  new_Value) [virtual]
template<typename T >
bool CoGaDB::gpu::GPU_Typed_Base_Column< T >::insert_from_device_memory_in_host_vector ( std::vector< T > &  host_column)
template<typename T >
bool CoGaDB::gpu::GPU_Typed_Base_Column< T >::insert_from_host_memory ( const std::vector< T > &  host_column)
template<typename T >
const shared_pointer_namespace::shared_ptr< GPU_Base_Column > CoGaDB::gpu::GPU_Typed_Base_Column< T >::materialize ( shared_pointer_namespace::shared_ptr< GPU_Positionlist pos_list) const [virtual]

Implements CoGaDB::gpu::GPU_Base_Column.

References CoGaDB::gpu::GPU_Typed_Base_Column< T >::getContent().

Here is the call graph for this function:

template<class Type >
bool CoGaDB::gpu::GPU_Typed_Base_Column< 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::gpu::GPU_Base_Column.

template<class Type >
bool CoGaDB::gpu::GPU_Typed_Base_Column< Type >::minus ( shared_pointer_namespace::shared_ptr< GPU_Base_Column column) [virtual]

vector substraction of two columns

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

Implements CoGaDB::gpu::GPU_Base_Column.

template<>
bool CoGaDB::gpu::GPU_Typed_Base_Column< 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::gpu::GPU_Base_Column.

template<>
bool CoGaDB::gpu::GPU_Typed_Base_Column< std::string >::minus ( GPU_Base_ColumnPtr  ) [inline]
template<class Type >
bool CoGaDB::gpu::GPU_Typed_Base_Column< 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::gpu::GPU_Base_Column.

template<typename T>
bool CoGaDB::gpu::GPU_Typed_Base_Column< Type >::multiply ( shared_pointer_namespace::shared_ptr< GPU_Base_Column column) [virtual]

multiply two columns A and B

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

Implements CoGaDB::gpu::GPU_Base_Column.

template<>
bool CoGaDB::gpu::GPU_Typed_Base_Column< 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::gpu::GPU_Base_Column.

template<>
bool CoGaDB::gpu::GPU_Typed_Base_Column< std::string >::multiply ( GPU_Base_ColumnPtr  ) [inline]
template<typename T >
void CoGaDB::gpu::GPU_Typed_Base_Column< T >::print ( ) const throw () [virtual]
template<typename T >
bool CoGaDB::gpu::GPU_Typed_Base_Column< T >::remove ( TID  tid) [virtual]
template<typename T >
size_t CoGaDB::gpu::GPU_Typed_Base_Column< T >::size ( ) const throw () [virtual]
template<typename T >
const std::type_info & CoGaDB::gpu::GPU_Typed_Base_Column< T >::type ( ) const throw () [virtual]
template<typename T >
bool CoGaDB::gpu::GPU_Typed_Base_Column< T >::update ( TID  tid,
const boost::any &  new_Value 
) [virtual]

Friends And Related Function Documentation

template<typename T>
const ColumnPtr copy_column_device_to_host ( GPU_Base_ColumnPtr  device_column) [friend]

Member Data Documentation

template<typename T>
thrust::device_vector<T> CoGaDB::gpu::GPU_Typed_Base_Column< T >::data_ [protected]

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