OmniSciDB
a5dc49c757
|
#include <RelAlgDag.h>
Public Member Functions | |
RelTableFunction ()=default | |
RelTableFunction (const std::string &function_name, RelAlgInputs inputs, std::vector< std::string > &fields, std::vector< const Rex * > col_inputs, std::vector< std::unique_ptr< const RexScalar >> &table_func_inputs, std::vector< std::unique_ptr< const RexScalar >> &target_exprs) | |
RelTableFunction (RelTableFunction const &) | |
virtual void | acceptChildren (Visitor &v) const override |
virtual void | accept (Visitor &v, std::string name) const override |
void | replaceInput (std::shared_ptr< const RelAlgNode > old_input, std::shared_ptr< const RelAlgNode > input) override |
std::string | getFunctionName () const |
size_t | size () const override |
const RexScalar * | getTargetExpr (size_t idx) const |
size_t | getTableFuncInputsSize () const |
size_t | getColInputsSize () const |
int32_t | countRexLiteralArgs () const |
const RexScalar * | getTableFuncInputAt (const size_t idx) const |
const RexScalar * | getTableFuncInputAtAndRelease (const size_t idx) |
void | setTableFuncInputs (std::vector< std::unique_ptr< const RexScalar >> &&exprs) |
std::string | getFieldName (const size_t idx) const |
const std::vector< std::string > & | getFields () const |
void | setFields (std::vector< std::string > &&fields) |
std::shared_ptr< RelAlgNode > | deepCopy () const override |
std::string | toString (RelRexToStringConfig config=RelRexToStringConfig::defaults()) const override |
virtual size_t | toHash () const override |
Public Member Functions inherited from RelAlgNode | |
RelAlgNode (RelAlgInputs inputs={}) | |
virtual | ~RelAlgNode () |
void | resetQueryExecutionState () |
void | setContextData (const RaExecutionDesc *context_data) const |
void | setOutputMetainfo (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 |
const std::vector< RelAlgNode const * > | getInputs () 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 |
void | setRelNodeDagId (const size_t id) const |
size_t | getRelNodeDagId () const |
bool | isNop () const |
void | markAsNop () |
void | clearContextData () const |
Public Member Functions inherited from RelAlgDagNode | |
RelAlgDagNode () | |
virtual size_t | getStepNumber () const |
virtual void | setStepNumber (size_t step) const |
std::optional< size_t > | getIdInPlanTree () const |
void | setIdInPlanTree (size_t id) const |
Private Attributes | |
std::string | function_name_ |
std::vector< std::string > | fields_ |
std::vector< const Rex * > | col_inputs_ |
std::vector< std::unique_ptr < const RexScalar > > | table_func_inputs_ |
std::vector< std::unique_ptr < const RexScalar > > | target_exprs_ |
Friends | |
struct | RelAlgDagSerializer |
std::size_t | hash_value (RelTableFunction const &) |
Additional Inherited Members | |
Static Public Member Functions inherited from RelAlgNode | |
static void | resetRelAlgFirstId () noexcept |
Protected Attributes inherited from RelAlgNode | |
RelAlgInputs | inputs_ |
unsigned | id_ |
std::optional< size_t > | hash_ |
Protected Attributes inherited from RelAlgDagNode | |
size_t | step_ {0} |
std::optional< size_t > | id_in_plan_tree_ |
Definition at line 2502 of file RelAlgDag.h.
|
default |
|
inline |
Definition at line 2507 of file RelAlgDag.h.
References RelAlgNode::inputs_.
RelTableFunction::RelTableFunction | ( | RelTableFunction const & | rhs | ) |
Definition at line 740 of file RelAlgDag.cpp.
References col_inputs_, anonymous_namespace{RelAlgDag.cpp}::reset_table_function_inputs(), and table_func_inputs_.
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 2542 of file RelAlgDag.h.
References acceptChildren(), and RelAlgDagNode::Visitor::visit().
Referenced by TableFunctionsFactory_node.PrintNode::__str__().
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 2525 of file RelAlgDag.h.
References RelAlgDagNode::accept(), RelAlgNode::getInputs(), getTableFuncInputAt(), getTableFuncInputsSize(), getTargetExpr(), anonymous_namespace{Utm.h}::n, and size().
Referenced by accept().
int32_t RelTableFunction::countRexLiteralArgs | ( | ) | const |
Definition at line 698 of file RelAlgDag.cpp.
References table_func_inputs_.
Referenced by RelAlgExecutor::createTableFunctionWorkUnit().
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 2594 of file RelAlgDag.h.
|
inline |
Definition at line 2562 of file RelAlgDag.h.
References col_inputs_.
Referenced by RelAlgExecutor::createTableFunctionWorkUnit().
|
inline |
|
inline |
|
inline |
Definition at line 2551 of file RelAlgDag.h.
References function_name_.
Referenced by RelAlgExecutor::createTableFunctionWorkUnit().
|
inline |
Definition at line 2566 of file RelAlgDag.h.
References CHECK_LT, and table_func_inputs_.
Referenced by acceptChildren(), RelAlgExecutor::createTableFunctionWorkUnit(), anonymous_namespace{RelAlgExecutor.cpp}::get_used_inputs(), anonymous_namespace{RelAlgExecutor.cpp}::scalar_at(), and RelRexDagVisitor::visit().
|
inline |
Definition at line 2571 of file RelAlgDag.h.
References CHECK_LT, and table_func_inputs_.
|
inline |
Definition at line 2560 of file RelAlgDag.h.
References table_func_inputs_.
Referenced by acceptChildren(), anonymous_namespace{RelAlgExecutor.cpp}::get_scalar_sources_size(), anonymous_namespace{RelAlgExecutor.cpp}::get_used_inputs(), and RelRexDagVisitor::visit().
|
inline |
Definition at line 2555 of file RelAlgDag.h.
References CHECK_LT, and target_exprs_.
Referenced by acceptChildren().
|
overridevirtual |
Reimplemented from RelAlgNode.
Definition at line 686 of file RelAlgDag.cpp.
References RelAlgNode::replaceInput(), table_func_inputs_, and target_exprs_.
|
inline |
void RelTableFunction::setTableFuncInputs | ( | std::vector< std::unique_ptr< const RexScalar >> && | exprs | ) |
Definition at line 730 of file RelAlgDag.cpp.
References col_inputs_, anonymous_namespace{RelAlgDag.cpp}::reset_table_function_inputs(), and table_func_inputs_.
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 2553 of file RelAlgDag.h.
References target_exprs_.
Referenced by acceptChildren().
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 2634 of file RelAlgDag.h.
References hash_value.
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 2598 of file RelAlgDag.h.
References cat(), fields_, function_name_, RelAlgNode::inputs_, table_func_inputs_, target_exprs_, to_string(), and typeName().
|
friend |
|
friend |
Definition at line 2651 of file RelAlgDag.h.
|
private |
Definition at line 2642 of file RelAlgDag.h.
Referenced by getColInputsSize(), RelTableFunction(), and setTableFuncInputs().
|
private |
Definition at line 2640 of file RelAlgDag.h.
Referenced by getFieldName(), getFields(), hash_value(), setFields(), and toString().
|
private |
Definition at line 2639 of file RelAlgDag.h.
Referenced by getFunctionName(), hash_value(), and toString().
|
private |
Definition at line 2645 of file RelAlgDag.h.
Referenced by countRexLiteralArgs(), getTableFuncInputAt(), getTableFuncInputAtAndRelease(), getTableFuncInputsSize(), hash_value(), RelTableFunction(), replaceInput(), setTableFuncInputs(), and toString().
|
private |
Definition at line 2648 of file RelAlgDag.h.
Referenced by getTargetExpr(), hash_value(), replaceInput(), size(), and toString().