OmniSciDB
a5dc49c757
|
#include <RelAlgDag.h>
Public Member Functions | |
RelScan (const TableDescriptor *td, const Catalog_Namespace::Catalog &catalog) | |
RelScan (const TableDescriptor *td, const std::vector< std::string > &field_names, const Catalog_Namespace::Catalog &catalog) | |
virtual void | acceptChildren (Visitor &v) const override |
virtual void | accept (Visitor &v, std::string name) const override |
size_t | size () const override |
const TableDescriptor * | getTableDescriptor () const |
const Catalog_Namespace::Catalog & | getCatalog () const |
const size_t | getNumFragments () const |
const size_t | getNumShards () const |
const std::vector< std::string > & | getFieldNames () const |
const std::string | getFieldName (const size_t i) const |
std::string | toString (RelRexToStringConfig config=RelRexToStringConfig::defaults()) const override |
std::shared_ptr< RelAlgNode > | deepCopy () const override |
void | addHint (const ExplainedQueryHint &hint_explained) |
const bool | hasHintEnabled (const QueryHint candidate_hint) const |
const ExplainedQueryHint & | getHintInfo (QueryHint hint) const |
bool | hasDeliveredHint () |
Hints * | getDeliveredHints () |
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 |
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 () |
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 | |
const TableDescriptor * | td_ |
std::vector< std::string > | field_names_ |
bool | hint_applied_ |
std::unique_ptr< Hints > | hints_ |
const Catalog_Namespace::Catalog & | catalog_ |
Friends | |
struct | RelAlgDagSerializer |
std::size_t | hash_value (RelScan 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 1093 of file RelAlgDag.h.
|
inline |
Definition at line 1096 of file RelAlgDag.h.
|
inline |
Definition at line 1099 of file RelAlgDag.h.
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 1109 of file RelAlgDag.h.
References acceptChildren(), and RelAlgDagNode::Visitor::visit().
Referenced by TableFunctionsFactory_node.PrintNode::__str__().
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 1108 of file RelAlgDag.h.
Referenced by accept().
|
inline |
Definition at line 1144 of file RelAlgDag.h.
References ExplainedQueryHint::getHint(), hint_applied_, and hints_.
|
inlineoverridevirtual |
|
inline |
Definition at line 1119 of file RelAlgDag.h.
References catalog_.
Referenced by anonymous_namespace{QueryPhysicalInputsCollector.cpp}::RelAlgPhysicalTableInputsVisitor::visit().
|
inline |
|
inline |
Definition at line 1127 of file RelAlgDag.h.
References field_names_.
Referenced by RexInput::toString().
|
inline |
|
inline |
Definition at line 1158 of file RelAlgDag.h.
References CHECK, hasHintEnabled(), hint_applied_, and hints_.
|
inline |
Definition at line 1121 of file RelAlgDag.h.
References TableDescriptor::fragmenter, and td_.
|
inline |
|
inline |
Definition at line 1117 of file RelAlgDag.h.
References td_.
Referenced by QueryPlanDagChecker::visit(), ScanNodeTableKeyCollector::visit(), anonymous_namespace{QueryPhysicalInputsCollector.cpp}::RelAlgPhysicalTableInputsVisitor::visit(), and anonymous_namespace{RelAlgExecutor.cpp}::RexUsedInputsVisitor::visitInput().
|
inline |
|
inline |
Definition at line 1151 of file RelAlgDag.h.
References hint_applied_, and hints_.
Referenced by getHintInfo().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 1129 of file RelAlgDag.h.
References cat(), field_names_, TableDescriptor::tableName, td_, and typeName().
|
friend |
Definition at line 3691 of file RelAlgDag.cpp.
Referenced by toHash().
|
friend |
Definition at line 1180 of file RelAlgDag.h.
|
private |
Definition at line 1178 of file RelAlgDag.h.
Referenced by getCatalog().
|
private |
Definition at line 1175 of file RelAlgDag.h.
Referenced by getFieldName(), getFieldNames(), hash_value(), size(), and toString().
|
private |
Definition at line 1176 of file RelAlgDag.h.
Referenced by addHint(), getHintInfo(), and hasHintEnabled().
|
private |
Definition at line 1177 of file RelAlgDag.h.
Referenced by addHint(), getDeliveredHints(), getHintInfo(), hasDeliveredHint(), and hasHintEnabled().
|
private |
Definition at line 1174 of file RelAlgDag.h.
Referenced by getNumFragments(), getNumShards(), getTableDescriptor(), hash_value(), and toString().