A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
pdb::AdvancedPhysicalStraightPipe Class Reference

#include <AdvancedPhysicalStraightPipe.h>

+ Inheritance diagram for pdb::AdvancedPhysicalStraightPipe:
+ Collaboration diagram for pdb::AdvancedPhysicalStraightPipe:

Public Member Functions

 AdvancedPhysicalStraightPipe (string &jobId, Handle< ComputePlan > &computePlan, LogicalPlanPtr &logicalPlan, ConfigurationPtr &conf, vector< AtomicComputationPtr > &pipeComputations, size_t id)
 
AdvancedPhysicalPipelineTypeID getType () override
 
AdvancedPhysicalAbstractAlgorithmPtr selectOutputAlgorithm () override
 
std::vector
< AdvancedPhysicalAbstractAlgorithmPtr
getPossibleAlgorithms (const StatisticsPtr &stats) override
 
- Public Member Functions inherited from pdb::AdvancedPhysicalAbstractPipe
 AdvancedPhysicalAbstractPipe (string &jobId, const Handle< ComputePlan > &computePlan, LogicalPlanPtr &logicalPlan, ConfigurationPtr &conf, vector< AtomicComputationPtr > &pipeComputations, size_t id)
 
PhysicalOptimizerResultPtr analyze (const StatisticsPtr &stats, int nextStageID) override
 
virtual PhysicalOptimizerResultPtr pipelineMe (int nextStageID, std::vector< AdvancedPhysicalPipelineNodePtr > pipeline, const StatisticsPtr &stats)
 
virtual PhysicalOptimizerResultPtr chainMe (int nextStageID, const StatisticsPtr &stats, PhysicalOptimizerResultPtr previous)
 
virtual bool isChainable ()
 
virtual bool isPipelinable (AdvancedPhysicalPipelineNodePtr node)
 
virtual bool isExecuted ()
 
virtual
AdvancedPhysicalAbstractAlgorithmPtr 
propose (std::vector< AdvancedPhysicalAbstractAlgorithmPtr > algorithms)
 
const bool isJoining ()
 
const bool isAggregating ()
 
std::unordered_map
< std::string, std::string > 
getProbingHashSets ()
 
const
AdvancedPhysicalAbstractAlgorithmPtr
getSelectedAlgorithm () const
 
double getCost (const StatisticsPtr &stats) override
 
bool isSource ()
 
bool hasConsumers () override
 
bool isConsuming (Handle< SetIdentifier > &set) override
 
string getNodeIdentifier () override
 
AdvancedPhysicalPipelineNodePtr getAdvancedPhysicalNodeHandle ()
 
AtomicComputationPtr getPipelineComputationAt (size_t idx)
 
const vector
< AtomicComputationPtr > & 
getPipeComputations () const
 
const Handle< SetIdentifier > & getSourceSetIdentifier () const
 
void setSourceSetIdentifier (const Handle< SetIdentifier > &sourceSetIdentifier)
 
- Public Member Functions inherited from pdb::AbstractPhysicalNode
 AbstractPhysicalNode (string &jobId, const Handle< ComputePlan > &computePlan, LogicalPlanPtr &logicalPlan, ConfigurationPtr &conf)
 
AbstractPhysicalNodePtr getHandle ()
 
virtual void removeConsumer (const AbstractPhysicalNodePtr &consumer)
 
virtual void addConsumer (const pdb::AbstractPhysicalNodePtr &consumer)
 
AbstractPhysicalNodePtr getConsumer (int idx)
 
size_t getNumConsumers ()
 
AbstractPhysicalNodePtr getProducer (int idx)
 
size_t getNumProducers ()
 
template<typename T >
std::shared_ptr< T > to ()
 

Additional Inherited Members

- Protected Member Functions inherited from pdb::AbstractPhysicalNode
Handle< SetIdentifiergetSetIdentifierFromComputation (Handle< Computation > computation)
 
- Protected Attributes inherited from pdb::AdvancedPhysicalAbstractPipe
AdvancedPhysicalAbstractAlgorithmPtr selectedAlgorithm
 
vector< AtomicComputationPtrpipeComputations
 
size_t id
 
Handle< SetIdentifiersourceSetIdentifier
 
- Protected Attributes inherited from pdb::AbstractPhysicalNode
std::string jobId
 
Handle< ComputePlancomputePlan
 
LogicalPlanPtr logicalPlan
 
ConfigurationPtr conf
 
std::list
< AbstractPhysicalNodePtr
consumers
 
std::list
< AbstractPhysicalNodeWeakPtr
producers
 
AbstractPhysicalNodeWeakPtr handle
 

Detailed Description

Definition at line 26 of file AdvancedPhysicalStraightPipe.h.

Constructor & Destructor Documentation

pdb::AdvancedPhysicalStraightPipe::AdvancedPhysicalStraightPipe ( string &  jobId,
Handle< ComputePlan > &  computePlan,
LogicalPlanPtr logicalPlan,
ConfigurationPtr conf,
vector< AtomicComputationPtr > &  pipeComputations,
size_t  id 
)

Definition at line 24 of file AdvancedPhysicalStraightPipe.cc.

Member Function Documentation

std::vector< AdvancedPhysicalAbstractAlgorithmPtr > pdb::AdvancedPhysicalStraightPipe::getPossibleAlgorithms ( const StatisticsPtr stats)
overridevirtual

Returns all the possible algorithms that can be used to execute the pipeline

Returns
a vector of possible algorithms

Implements pdb::AdvancedPhysicalAbstractPipe.

Definition at line 51 of file AdvancedPhysicalStraightPipe.cc.

+ Here is the call graph for this function:

AdvancedPhysicalPipelineTypeID pdb::AdvancedPhysicalStraightPipe::getType ( )
overridevirtual

Returns the type of this pipeline

Returns
the type

Implements pdb::AdvancedPhysicalAbstractPipe.

Definition at line 66 of file AdvancedPhysicalStraightPipe.cc.

AdvancedPhysicalAbstractAlgorithmPtr pdb::AdvancedPhysicalStraightPipe::selectOutputAlgorithm ( )
overridevirtual

Selects the output algorithm for this pipeline

Returns
selects the output algorithm for this pipeline

Implements pdb::AdvancedPhysicalAbstractPipe.

Definition at line 37 of file AdvancedPhysicalStraightPipe.cc.

+ Here is the call graph for this function:


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