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

#include <AdvancedPhysicalJoinSidePipe.h>

+ Inheritance diagram for pdb::AdvancedPhysicalJoinSidePipe:
+ Collaboration diagram for pdb::AdvancedPhysicalJoinSidePipe:

Public Member Functions

 AdvancedPhysicalJoinSidePipe (string &jobId, Handle< ComputePlan > &computePlan, LogicalPlanPtr &logicalPlan, ConfigurationPtr &conf, vector< AtomicComputationPtr > &pipeComputations, size_t id)
 
AdvancedPhysicalPipelineTypeID getType () override
 
AdvancedPhysicalAbstractAlgorithmPtr selectOutputAlgorithm () override
 
vector
< AdvancedPhysicalAbstractAlgorithmPtr
getPossibleAlgorithms (const StatisticsPtr &stats) override
 
std::string getGeneratedHashSet ()
 
bool hasHashSet ()
 
void setHashSet (const string &hashSet)
 
- 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 ()
 

Protected Attributes

const double BROADCAST_JOIN_COST_THRESHOLD = 15000
 
std::string hashSet
 
- 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
 

Additional Inherited Members

- Protected Member Functions inherited from pdb::AbstractPhysicalNode
Handle< SetIdentifiergetSetIdentifierFromComputation (Handle< Computation > computation)
 

Detailed Description

Definition at line 26 of file AdvancedPhysicalJoinSidePipe.h.

Constructor & Destructor Documentation

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

Definition at line 28 of file AdvancedPhysicalJoinSidePipe.cc.

Member Function Documentation

std::string pdb::AdvancedPhysicalJoinSidePipe::getGeneratedHashSet ( )

Returns the generated hash set if executed, otherwise it returns an empty string

Returns
- the hash set we generated

Definition at line 103 of file AdvancedPhysicalJoinSidePipe.cc.

vector< AdvancedPhysicalAbstractAlgorithmPtr > pdb::AdvancedPhysicalJoinSidePipe::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 49 of file AdvancedPhysicalJoinSidePipe.cc.

+ Here is the call graph for this function:

AdvancedPhysicalPipelineTypeID pdb::AdvancedPhysicalJoinSidePipe::getType ( )
overridevirtual

Returns the type of this pipeline

Returns
the type

Implements pdb::AdvancedPhysicalAbstractPipe.

Definition at line 99 of file AdvancedPhysicalJoinSidePipe.cc.

bool pdb::AdvancedPhysicalJoinSidePipe::hasHashSet ( )

Returns true if this join side has generated a hash set, false otherwise

Returns
the value

Definition at line 107 of file AdvancedPhysicalJoinSidePipe.cc.

AdvancedPhysicalAbstractAlgorithmPtr pdb::AdvancedPhysicalJoinSidePipe::selectOutputAlgorithm ( )
overridevirtual

Selects the output algorithm for this pipeline

Returns
selects the output algorithm for this pipeline

Implements pdb::AdvancedPhysicalAbstractPipe.

Definition at line 40 of file AdvancedPhysicalJoinSidePipe.cc.

void pdb::AdvancedPhysicalJoinSidePipe::setHashSet ( const string &  hashSet)

Sets the hash set of the join side pipeline

Parameters
hashSet- the hash set

Definition at line 111 of file AdvancedPhysicalJoinSidePipe.cc.

Member Data Documentation

const double pdb::AdvancedPhysicalJoinSidePipe::BROADCAST_JOIN_COST_THRESHOLD = 15000
protected

This is the largest cost that can we can broadcast

Definition at line 77 of file AdvancedPhysicalJoinSidePipe.h.

std::string pdb::AdvancedPhysicalJoinSidePipe::hashSet
protected

When executed this will contain the name of the hash set this join side generated

Definition at line 82 of file AdvancedPhysicalJoinSidePipe.h.


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