Class RelAlgNode

class RelAlgNode

Subclassed by RelAggregate, RelCompound, RelFilter, RelJoin, RelLeftDeepInnerJoin, RelLogicalUnion, RelLogicalValues, RelModify, RelProject, RelScan, RelSort, RelTableFunction, RelTranslatedJoin

Public Functions

RelAlgNode(RelAlgInputs inputs = {})
virtual ~RelAlgNode()
void resetQueryExecutionState()
void setContextData(const RaExecutionDesc *context_data) const
void setOutputMetainfo(const std::vector<TargetMetaInfo> &targets_metainfo) const
void setQueryPlanDag(const std::string &extracted_query_plan_dag) const
std::string getQueryPlanDag() const
size_t getQueryPlanDagHash() const
const std::vector<TargetMetaInfo> &getOutputMetainfo() const
unsigned getId() const
bool hasContextData() const
const RaExecutionDesc *getContextData() const
const size_t inputCount() const
const RelAlgNode *getInput(const size_t idx) const
std::shared_ptr<const RelAlgNode> getAndOwnInput(const size_t idx) const
void addManagedInput(std::shared_ptr<const RelAlgNode> input)
bool hasInput(const RelAlgNode *needle) const
virtual void replaceInput(std::shared_ptr<const RelAlgNode> old_input, std::shared_ptr<const RelAlgNode> input)
void setRelNodeDagId(const size_t id) const
size_t getRelNodeDagId() const
bool isNop() const
void markAsNop()
virtual std::string toString() const = 0
virtual size_t toHash() const = 0
virtual size_t size() const = 0
virtual std::shared_ptr<RelAlgNode> deepCopy() const = 0
void clearContextData() const

Clears the ptr to the result for this descriptor. Is only used for overriding step results in distributed mode.

Public Static Functions

void resetRelAlgFirstId()

Protected Attributes

RelAlgInputs inputs_
const unsigned id_
std::optional<size_t> hash_

Private Members

const RaExecutionDesc *context_data_
bool is_nop_
std::vector<TargetMetaInfo> targets_metainfo_
size_t dag_node_id_
std::string query_plan_dag_
size_t query_plan_dag_hash_

Private Static Attributes

thread_local unsigned crt_id_ = FIRST_RA_NODE_ID