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

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

◆ 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: