18 #ifndef PDB_ABSTRACTPHYSICALNODE_H
19 #define PDB_ABSTRACTPHYSICALNODE_H
137 consumer->producers.push_back(
getHandle());
174 std::shared_ptr<T>
to() {
175 return std::dynamic_pointer_cast<T>(
getHandle());
228 #endif //PDB_ABSTRACTPHYSICALNODE_H
AbstractPhysicalNodePtr getHandle()
Handle< ComputePlan > computePlan
std::shared_ptr< Statistics > StatisticsPtr
virtual bool isConsuming(Handle< SetIdentifier > &set)=0
AbstractPhysicalNodePtr getProducer(int idx)
LogicalPlanPtr logicalPlan
std::shared_ptr< LogicalPlan > LogicalPlanPtr
std::list< Handle< SetIdentifier > > interGlobalSets
std::shared_ptr< T > to()
virtual PhysicalOptimizerResultPtr analyze(const StatisticsPtr &stats, int nextStageID)=0
AbstractPhysicalNodeWeakPtr handle
AbstractPhysicalNode(string &jobId, const Handle< ComputePlan > &computePlan, LogicalPlanPtr &logicalPlan, ConfigurationPtr &conf)
list< AbstractPhysicalNodePtr > createdSourceComputations
std::shared_ptr< AbstractPhysicalNode > AbstractPhysicalNodeWeakPtr
AbstractPhysicalNodePtr getConsumer(int idx)
std::list< Handle< AbstractJobStage > > physicalPlanToOutput
shared_ptr< Configuration > ConfigurationPtr
std::list< AbstractPhysicalNodePtr > consumers
std::shared_ptr< AbstractPhysicalNode > AbstractPhysicalNodePtr
virtual double getCost(const StatisticsPtr &stats)=0
Handle< SetIdentifier > getSetIdentifierFromComputation(Handle< Computation > computation)
virtual void addConsumer(const pdb::AbstractPhysicalNodePtr &consumer)
virtual void removeConsumer(const AbstractPhysicalNodePtr &consumer)
virtual bool hasConsumers()=0
virtual std::string getNodeIdentifier()=0
std::list< AbstractPhysicalNodeWeakPtr > producers
std::shared_ptr< PhysicalOptimizerResult > PhysicalOptimizerResultPtr