Kuzu C++ API
Loading...
Searching...
No Matches
kuzu::processor::PhysicalOperator Class Referenceabstract

#include <physical_operator.h>

Public Member Functions

 PhysicalOperator (PhysicalOperatorType operatorType, physical_op_id id, std::unique_ptr< OPPrintInfo > printInfo)
 
 PhysicalOperator (PhysicalOperatorType operatorType, std::unique_ptr< PhysicalOperator > child, physical_op_id id, std::unique_ptr< OPPrintInfo > printInfo)
 
 PhysicalOperator (PhysicalOperatorType operatorType, std::unique_ptr< PhysicalOperator > left, std::unique_ptr< PhysicalOperator > right, physical_op_id id, std::unique_ptr< OPPrintInfo > printInfo)
 
 PhysicalOperator (PhysicalOperatorType operatorType, physical_op_vector_t children, physical_op_id id, std::unique_ptr< OPPrintInfo > printInfo)
 
virtual ~PhysicalOperator ()=default
 
physical_op_id getOperatorID () const
 
PhysicalOperatorType getOperatorType () const
 
virtual bool isSource () const
 
virtual bool isSink () const
 
virtual bool isParallel () const
 
void addChild (std::unique_ptr< PhysicalOperator > op)
 
PhysicalOperatorgetChild (common::idx_t idx) const
 
common::idx_t getNumChildren () const
 
std::unique_ptr< PhysicalOperatormoveUnaryChild ()
 
void initGlobalState (ExecutionContext *context)
 
void initLocalState (ResultSet *resultSet, ExecutionContext *context)
 
bool getNextTuple (ExecutionContext *context)
 
virtual void finalize (ExecutionContext *context)
 
std::unordered_map< std::string, std::string > getProfilerKeyValAttributes (common::Profiler &profiler) const
 
std::vector< std::string > getProfilerAttributes (common::Profiler &profiler) const
 
const OPPrintInfogetPrintInfo () const
 
virtual std::unique_ptr< PhysicalOperatorcopy ()=0
 
virtual double getProgress (ExecutionContext *context) const
 
template<class TARGET>
TARGET * ptrCast ()
 
template<class TARGET>
const TARGET & constCast ()
 

Protected Member Functions

virtual void initGlobalStateInternal (ExecutionContext *)
 
virtual void initLocalStateInternal (ResultSet *, ExecutionContext *)
 
virtual bool getNextTuplesInternal (ExecutionContext *context)=0
 
std::string getTimeMetricKey () const
 
std::string getNumTupleMetricKey () const
 
void registerProfilingMetrics (common::Profiler *profiler)
 
double getExecutionTime (common::Profiler &profiler) const
 
uint64_t getNumOutputTuples (common::Profiler &profiler) const
 
virtual void finalizeInternal (ExecutionContext *)
 

Protected Attributes

physical_op_id id
 
std::unique_ptr< OperatorMetricsmetrics
 
PhysicalOperatorType operatorType
 
physical_op_vector_t children
 
ResultSetresultSet
 
std::unique_ptr< OPPrintInfoprintInfo
 
bool hasBeenFinalized = false
 

Constructor & Destructor Documentation

◆ PhysicalOperator() [1/4]

kuzu::processor::PhysicalOperator::PhysicalOperator ( PhysicalOperatorType operatorType,
physical_op_id id,
std::unique_ptr< OPPrintInfo > printInfo )
inline

◆ PhysicalOperator() [2/4]

kuzu::processor::PhysicalOperator::PhysicalOperator ( PhysicalOperatorType operatorType,
std::unique_ptr< PhysicalOperator > child,
physical_op_id id,
std::unique_ptr< OPPrintInfo > printInfo )

◆ PhysicalOperator() [3/4]

kuzu::processor::PhysicalOperator::PhysicalOperator ( PhysicalOperatorType operatorType,
std::unique_ptr< PhysicalOperator > left,
std::unique_ptr< PhysicalOperator > right,
physical_op_id id,
std::unique_ptr< OPPrintInfo > printInfo )

◆ PhysicalOperator() [4/4]

kuzu::processor::PhysicalOperator::PhysicalOperator ( PhysicalOperatorType operatorType,
physical_op_vector_t children,
physical_op_id id,
std::unique_ptr< OPPrintInfo > printInfo )

◆ ~PhysicalOperator()

virtual kuzu::processor::PhysicalOperator::~PhysicalOperator ( )
virtualdefault

Member Function Documentation

◆ addChild()

void kuzu::processor::PhysicalOperator::addChild ( std::unique_ptr< PhysicalOperator > op)
inline

◆ constCast()

template<class TARGET>
const TARGET & kuzu::processor::PhysicalOperator::constCast ( )
inline

◆ copy()

virtual std::unique_ptr< PhysicalOperator > kuzu::processor::PhysicalOperator::copy ( )
pure virtual

◆ finalize()

virtual void kuzu::processor::PhysicalOperator::finalize ( ExecutionContext * context)
virtual

◆ finalizeInternal()

virtual void kuzu::processor::PhysicalOperator::finalizeInternal ( ExecutionContext * )
inlineprotectedvirtual

◆ getChild()

PhysicalOperator * kuzu::processor::PhysicalOperator::getChild ( common::idx_t idx) const
inline

◆ getExecutionTime()

double kuzu::processor::PhysicalOperator::getExecutionTime ( common::Profiler & profiler) const
protected

◆ getNextTuple()

bool kuzu::processor::PhysicalOperator::getNextTuple ( ExecutionContext * context)

◆ getNextTuplesInternal()

virtual bool kuzu::processor::PhysicalOperator::getNextTuplesInternal ( ExecutionContext * context)
protectedpure virtual

◆ getNumChildren()

common::idx_t kuzu::processor::PhysicalOperator::getNumChildren ( ) const
inline

◆ getNumOutputTuples()

uint64_t kuzu::processor::PhysicalOperator::getNumOutputTuples ( common::Profiler & profiler) const
protected

◆ getNumTupleMetricKey()

std::string kuzu::processor::PhysicalOperator::getNumTupleMetricKey ( ) const
inlineprotected

◆ getOperatorID()

physical_op_id kuzu::processor::PhysicalOperator::getOperatorID ( ) const
inline

◆ getOperatorType()

PhysicalOperatorType kuzu::processor::PhysicalOperator::getOperatorType ( ) const
inline

◆ getPrintInfo()

const OPPrintInfo * kuzu::processor::PhysicalOperator::getPrintInfo ( ) const
inline

◆ getProfilerAttributes()

std::vector< std::string > kuzu::processor::PhysicalOperator::getProfilerAttributes ( common::Profiler & profiler) const

◆ getProfilerKeyValAttributes()

std::unordered_map< std::string, std::string > kuzu::processor::PhysicalOperator::getProfilerKeyValAttributes ( common::Profiler & profiler) const

◆ getProgress()

virtual double kuzu::processor::PhysicalOperator::getProgress ( ExecutionContext * context) const
virtual

◆ getTimeMetricKey()

std::string kuzu::processor::PhysicalOperator::getTimeMetricKey ( ) const
inlineprotected

◆ initGlobalState()

void kuzu::processor::PhysicalOperator::initGlobalState ( ExecutionContext * context)

◆ initGlobalStateInternal()

virtual void kuzu::processor::PhysicalOperator::initGlobalStateInternal ( ExecutionContext * )
inlineprotectedvirtual

◆ initLocalState()

void kuzu::processor::PhysicalOperator::initLocalState ( ResultSet * resultSet,
ExecutionContext * context )

◆ initLocalStateInternal()

virtual void kuzu::processor::PhysicalOperator::initLocalStateInternal ( ResultSet * ,
ExecutionContext *  )
inlineprotectedvirtual

◆ isParallel()

virtual bool kuzu::processor::PhysicalOperator::isParallel ( ) const
inlinevirtual

◆ isSink()

virtual bool kuzu::processor::PhysicalOperator::isSink ( ) const
inlinevirtual

◆ isSource()

virtual bool kuzu::processor::PhysicalOperator::isSource ( ) const
inlinevirtual

◆ moveUnaryChild()

std::unique_ptr< PhysicalOperator > kuzu::processor::PhysicalOperator::moveUnaryChild ( )

◆ ptrCast()

template<class TARGET>
TARGET * kuzu::processor::PhysicalOperator::ptrCast ( )
inline

◆ registerProfilingMetrics()

void kuzu::processor::PhysicalOperator::registerProfilingMetrics ( common::Profiler * profiler)
protected

Member Data Documentation

◆ children

physical_op_vector_t kuzu::processor::PhysicalOperator::children
protected

◆ hasBeenFinalized

bool kuzu::processor::PhysicalOperator::hasBeenFinalized = false
protected

◆ id

physical_op_id kuzu::processor::PhysicalOperator::id
protected

◆ metrics

std::unique_ptr<OperatorMetrics> kuzu::processor::PhysicalOperator::metrics
protected

◆ operatorType

PhysicalOperatorType kuzu::processor::PhysicalOperator::operatorType
protected

◆ printInfo

std::unique_ptr<OPPrintInfo> kuzu::processor::PhysicalOperator::printInfo
protected

◆ resultSet

ResultSet* kuzu::processor::PhysicalOperator::resultSet
protected

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