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::SimplePhysicalPartitionNode Class Reference

#include <SimplePhysicalPartitionNode.h>

+ Inheritance diagram for pdb::SimplePhysicalPartitionNode:
+ Collaboration diagram for pdb::SimplePhysicalPartitionNode:

Public Member Functions

 SimplePhysicalPartitionNode (string jobId, AtomicComputationPtr node, const Handle< ComputePlan > &computePlan, LogicalPlanPtr logicalPlan, ConfigurationPtr conf)
 
- Public Member Functions inherited from pdb::SimplePhysicalNode
 SimplePhysicalNode (string jobId, AtomicComputationPtr node, const Handle< ComputePlan > &computePlan, LogicalPlanPtr logicalPlan, ConfigurationPtr conf)
 
PhysicalOptimizerResultPtr analyze (const StatisticsPtr &stats, int nextStageID) override
 
PhysicalOptimizerResultPtr analyze (TupleSetJobStageBuilderPtr &shared_ptr, SimplePhysicalNodePtr &prevNode, const StatisticsPtr &stats, int nextStageID)
 
const AtomicComputationPtrgetNode () const
 
void addConsumer (const AbstractPhysicalNodePtr &consumer) override
 
bool hasConsumers () override
 
bool isConsuming (Handle< SetIdentifier > &set) override
 
double getCost (const StatisticsPtr &stats) override
 
SimplePhysicalNodePtr getSimpleNodeHandle ()
 
- 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)
 
AbstractPhysicalNodePtr getConsumer (int idx)
 
size_t getNumConsumers ()
 
AbstractPhysicalNodePtr getProducer (int idx)
 
size_t getNumProducers ()
 
template<typename T >
std::shared_ptr< T > to ()
 

Protected Member Functions

PhysicalOptimizerResultPtr analyzeSingleConsumer (TupleSetJobStageBuilderPtr &tupleStageBuilder, SimplePhysicalNodePtr &prevNode, const StatisticsPtr &stats, int nextStageID) override
 
PhysicalOptimizerResultPtr analyzeOutput (TupleSetJobStageBuilderPtr &tupleStageBuilder, SimplePhysicalNodePtr &prevNode, const StatisticsPtr &stats, int nextStageID) override
 
PhysicalOptimizerResultPtr analyzeMultipleConsumers (TupleSetJobStageBuilderPtr &ptr, SimplePhysicalNodePtr &prevNode, const StatisticsPtr &stats, int nextStageID) override
 
- Protected Member Functions inherited from pdb::SimplePhysicalNode
std::string getNodeIdentifier () override
 
double getCost (Handle< SetIdentifier > source, const StatisticsPtr &stats)
 
const Handle< SetIdentifier > & getSourceSetIdentifier () const
 
- Protected Member Functions inherited from pdb::AbstractPhysicalNode
Handle< SetIdentifiergetSetIdentifierFromComputation (Handle< Computation > computation)
 

Additional Inherited Members

- Protected Attributes inherited from pdb::SimplePhysicalNode
std::list< SimplePhysicalNodePtractiveConsumers
 
Handle< SetIdentifiersourceSetIdentifier
 
AtomicComputationPtr node
 
- 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 SimplePhysicalPartitionNode.h.

Constructor & Destructor Documentation

pdb::SimplePhysicalPartitionNode::SimplePhysicalPartitionNode ( string  jobId,
AtomicComputationPtr  node,
const Handle< ComputePlan > &  computePlan,
LogicalPlanPtr  logicalPlan,
ConfigurationPtr  conf 
)

Definition at line 23 of file SimplePhysicalPartitionNode.cc.

Member Function Documentation

PhysicalOptimizerResultPtr pdb::SimplePhysicalPartitionNode::analyzeMultipleConsumers ( TupleSetJobStageBuilderPtr ptr,
SimplePhysicalNodePtr prevNode,
const StatisticsPtr stats,
int  nextStageID 
)
overrideprotectedvirtual

In the case that this partition has only one consumer. It essentially builds the

See Also
pdb::TupleSetJobStage.
Parameters
tupleStageBuilder- the builder for the tuple set job stage, that contains all the computations in our pipeline so far.
prevNode- the previous node we are coming from to analyze this node
stats- the statistics about the sets that are in the catalog
nextStageID- the id of the next stage for this job
Returns
the result will contain a partial physical plan

Reimplemented from pdb::SimplePhysicalNode.

Definition at line 130 of file SimplePhysicalPartitionNode.cc.

+ Here is the call graph for this function:

PhysicalOptimizerResultPtr pdb::SimplePhysicalPartitionNode::analyzeOutput ( TupleSetJobStageBuilderPtr tupleStageBuilder,
SimplePhysicalNodePtr prevNode,
const StatisticsPtr stats,
int  nextStageID 
)
overrideprotectedvirtual

In the case that this partition is the output. It essentially builds the pdb::TupleSetJobStage.

Parameters
tupleStageBuilder- the builder for the tuple set job stage, that contains all the computations in our pipeline so far.
prevNode- the previous node we are coming from to analyze this node
stats- the statistics about the sets that are in the catalog
nextStageID- the id of the next stage for this job
Returns
the result will contain a partial physical plan

Reimplemented from pdb::SimplePhysicalNode.

Definition at line 34 of file SimplePhysicalPartitionNode.cc.

PhysicalOptimizerResultPtr pdb::SimplePhysicalPartitionNode::analyzeSingleConsumer ( TupleSetJobStageBuilderPtr tupleStageBuilder,
SimplePhysicalNodePtr prevNode,
const StatisticsPtr stats,
int  nextStageID 
)
overrideprotectedvirtual

In the case that this partition has only one consumer. It essentially builds the pdb::TupleSetJobStage.

Parameters
tupleStageBuilder- the builder for the tuple set job stage, that contains all the computations in our pipeline so far.
prevNode- the previous node we are coming from to analyze this node
stats- the statistics about the sets that are in the catalog
nextStageID- the id of the next stage for this job
Returns
the result will contain a partial physical plan

Reimplemented from pdb::SimplePhysicalNode.

Definition at line 77 of file SimplePhysicalPartitionNode.cc.

+ Here is the call graph for this function:


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