Column-oriented GPU-accelerated Database Management System
CoGaDB
hype::queryprocessing::Node Class Reference

#include <node.hpp>

Inheritance diagram for hype::queryprocessing::Node:
Collaboration diagram for hype::queryprocessing::Node:

List of all members.

Public Types

typedef boost::shared_ptr< NodeNodePtr

Public Member Functions

 Node (DeviceConstraint dev_constr=DeviceConstraint())
virtual ~Node ()
bool isRoot () const
bool isLeaf () const
const NodePtr getLeft () const
const NodePtr getRight () const
const NodePtr getParent () const
unsigned int getLevel ()
void setLevel (unsigned int level)
virtual unsigned int getOutputResultSize () const =0
virtual double getSelectivity () const =0
virtual std::string getOperationName () const =0
virtual std::string toString (bool verbose=false) const
void setLeft (NodePtr left)
void setRight (NodePtr right)
void setParent (NodePtr parent)
const DeviceConstraintgetDeviceConstraint () const

Protected Attributes

NodePtr parent_
NodePtr left_
NodePtr right_
unsigned int level_
DeviceConstraint dev_constr_

Member Typedef Documentation

typedef boost::shared_ptr<Node> hype::queryprocessing::Node::NodePtr

Constructor & Destructor Documentation

virtual hype::queryprocessing::Node::~Node ( ) [inline, virtual]

Member Function Documentation

References left_.

unsigned int hype::queryprocessing::Node::getLevel ( ) [inline]

References level_.

virtual std::string hype::queryprocessing::Node::getOperationName ( ) const [pure virtual]

Implemented in CoGaDB::query_processing::logical_operator::Logical_Join, CoGaDB::query_processing::logical_operator::Logical_Selection, CoGaDB::query_processing::logical_operator::Logical_Sort, CoGaDB::query_processing::logical_operator::Logical_Groupby, CoGaDB::query_processing::logical_operator::Logical_ColumnAlgebraOperator, CoGaDB::query_processing::logical_operator::Logical_ColumnAlgebraOperation, CoGaDB::query_processing::logical_operator::Logical_ColumnConstantOperator, CoGaDB::query_processing::logical_operator::Logical_AddConstantValueColumn, CoGaDB::query_processing::logical_operator::Logical_Projection, CoGaDB::query_processing::logical_operator::Logical_PositionList_Operator, CoGaDB::query_processing::logical_operator::Logical_ComplexSelection, CoGaDB::query_processing::logical_operator::Logical_CPU_ColumnAlgebraOperation, CoGaDB::query_processing::logical_operator::Logical_ColumnComparatorOperation, CoGaDB::query_processing::logical_operator::Logical_CrossJoin, CoGaDB::query_processing::logical_operator::Logical_Column_Constant_Filter, CoGaDB::query_processing::logical_operator::Logical_Create_Table, CoGaDB::query_processing::logical_operator::Logical_Scan, and CoGaDB::query_processing::logical_operator::Logical_Column_Scan.

Referenced by CoGaDB::query_processing::physical_operator::create_CPU_ColumnAlgebraOperator(), CoGaDB::query_processing::physical_operator::create_CPU_ColumnComparatorOperator(), CoGaDB::query_processing::physical_operator::create_CPU_PositionList_Operator(), hype::queryprocessing::OperatorMapper< TablePtr, function >::getPhysicalOperator(), and toString().

Here is the caller graph for this function:

References parent_.

References right_.

virtual double hype::queryprocessing::Node::getSelectivity ( ) const [pure virtual]

Implemented in hype::queryprocessing::TypedNode_Impl< Type, function >, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_crossjoin_operator>, hype::queryprocessing::TypedNode_Impl< ColumnPtr, physical_operator::map_init_function_cpu_column_algebra_operator>, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_groupby_operator>, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_projection_operator>, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_column_constant_operator>, hype::queryprocessing::TypedNode_Impl< ColumnPtr, physical_operator::map_init_function_column_algebra_operator>, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_scan_operator>, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_selection_operator>, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_join_operator>, hype::queryprocessing::TypedNode_Impl< ColumnPtr, physical_operator::map_init_function_column_scan_operator>, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_column_algebra_operator>, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_addconstantvaluecolumn_operator>, hype::queryprocessing::TypedNode_Impl< ColumnPtr, physical_operator::map_init_function_cpu_column_comparison_operator>, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_sort_operator>, hype::queryprocessing::TypedNode_Impl< ColumnPtr, physical_operator::map_init_function_cpu_positionlist_operator>, hype::queryprocessing::TypedNode_Impl< TablePtr, physical_operator::map_init_function_complex_selection_operator>, hype::queryprocessing::TypedNode_Impl< ColumnPtr, physical_operator::map_init_function_column_constant_filter_operator>, and CoGaDB::query_processing::logical_operator::Logical_AddConstantValueColumn.

bool hype::queryprocessing::Node::isLeaf ( ) const [inline]

References left_, and right_.

bool hype::queryprocessing::Node::isRoot ( ) const [inline]

References parent_.

References left_.

Referenced by CoGaDB::SQL::ParseTree::AtomExpression::getQueryPlan().

Here is the caller graph for this function:

void hype::queryprocessing::Node::setLevel ( unsigned int  level) [inline]

References level_.

References parent_.

References right_.


Member Data Documentation

unsigned int hype::queryprocessing::Node::level_ [protected]

Referenced by getLevel(), and setLevel().


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