OmniSciDB
a5dc49c757
|
#include <RelAlgDagViewer.h>
Classes | |
struct | BreadthFirstSearch |
struct | CollectImmediateChildren |
struct | NodeInfo |
Public Types | |
using | id_map = std::unordered_map< std::uintptr_t, NodeInfo > |
Public Member Functions | |
RelAlgDagViewer () | |
RelAlgDagViewer (bool showing_steps, bool verbose) | |
virtual void | clear () |
virtual std::string | str () const |
virtual id_map::iterator | emplace (RelAlgDagNode const *n) |
virtual void | handleQueryEngineVector (std::vector< std::shared_ptr< RelAlgNode >> const nodes) |
Public Member Functions inherited from RelAlgDagNode::Visitor | |
virtual | ~Visitor () |
Protected Member Functions | |
virtual id_map::iterator | emplaceVoid (void const *n) |
void | beginNextLine (std::optional< size_t > step={}) |
template<typename T > | |
void | visitChild (T child, std::string name) |
template<typename T > | |
bool | innerVisit (T t, std::string name, bool recurse=true) |
bool | visit (RelAggregate const *n, std::string s) override |
bool | visit (RelCompound const *n, std::string s) override |
bool | visit (RelFilter const *n, std::string s) override |
bool | visit (RelJoin const *n, std::string s) override |
bool | visit (RelLeftDeepInnerJoin const *n, std::string s) override |
bool | visit (RelLogicalUnion const *n, std::string s) override |
bool | visit (RelLogicalValues const *n, std::string s) override |
bool | visit (RelModify const *n, std::string s) override |
bool | visit (RelProject const *n, std::string s) override |
bool | visit (RelScan const *n, std::string s) override |
bool | visit (RelSort const *n, std::string s) override |
bool | visit (RelTableFunction const *n, std::string s) override |
bool | visit (RelTranslatedJoin const *n, std::string s) override |
bool | visit (RexAbstractInput const *n, std::string s) override |
bool | visit (RexCase const *n, std::string s) override |
bool | visit (RexFunctionOperator const *n, std::string s) override |
bool | visit (RexInput const *n, std::string s) override |
bool | visit (RexLiteral const *n, std::string s) override |
bool | visit (RexOperator const *n, std::string s) override |
bool | visit (RexRef const *n, std::string s) override |
bool | visit (RexAgg const *n, std::string s) override |
bool | visit (RexSubQuery const *n, std::string s) override |
bool | visit (RexWindowFunctionOperator const *n, std::string s) override |
Protected Member Functions inherited from RelAlgDagNode::Visitor | |
virtual bool | visitAny (RelAlgDagNode const *n, std::string s) |
Protected Attributes | |
std::ostringstream | out_ |
size_t | indent_level_ {0} |
size_t | line_number_ {1} |
bool | showing_steps_ {false} |
id_map | ids_ |
size_t | next_id_ {1} |
bool | top_call_ {true} |
bool | already_indented_ {false} |
bool | needs_newline_ {false} |
bool | needs_colon_ {false} |
bool | verbose_ {false} |
Static Protected Attributes | |
static constexpr size_t | indent_spaces_ {4} |
Definition at line 30 of file RelAlgDagViewer.h.
using RelAlgDagViewer::id_map = std::unordered_map<std::uintptr_t, NodeInfo> |
Definition at line 51 of file RelAlgDagViewer.h.
|
inline |
Definition at line 32 of file RelAlgDagViewer.h.
Referenced by clear().
|
inline |
Definition at line 33 of file RelAlgDagViewer.h.
|
inlineprotected |
Definition at line 79 of file RelAlgDagViewer.h.
Referenced by innerVisit().
|
inlinevirtual |
Definition at line 36 of file RelAlgDagViewer.h.
References RelAlgDagViewer(), showing_steps_, and verbose_.
Referenced by innerVisit().
|
inlinevirtual |
Definition at line 53 of file RelAlgDagViewer.h.
References emplaceVoid(), and RelAlgDagNode::setIdInPlanTree().
Referenced by handleQueryEngineVector(), and innerVisit().
|
inlineprotectedvirtual |
|
inlinevirtual |
Definition at line 316 of file RelAlgDagViewer.h.
References CHECK, emplace(), ids_, anonymous_namespace{Utm.h}::n, showing_steps_, and top_call_.
Referenced by RelAlgExecutor::executeRelAlgQueryNoRetry().
|
inlineprotected |
Definition at line 158 of file RelAlgDagViewer.h.
References RelRexToStringConfig::attributes_only, beginNextLine(), CHECK, clear(), emplace(), ids_, indent_level_, line_number_, next_id_, RelAlgDagViewer::CollectImmediateChildren::nodes, out_, RelRexToStringConfig::skip_input_nodes, top_call_, verbose_, and visitChild().
Referenced by visit().
|
inlinevirtual |
Definition at line 38 of file RelAlgDagViewer.h.
References out_.
Referenced by operator<<().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 225 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 227 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 229 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 231 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 233 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 237 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 241 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 245 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 247 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 249 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 251 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 253 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 257 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 263 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 267 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 269 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 273 of file RelAlgDagViewer.h.
References RexInput::getSourceNode(), ids_, innerVisit(), and out_.
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 285 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 287 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 289 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 291 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 293 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineoverrideprotectedvirtual |
Reimplemented from RelAlgDagNode::Visitor.
Definition at line 295 of file RelAlgDagViewer.h.
References innerVisit().
|
inlineprotected |
Definition at line 146 of file RelAlgDagViewer.h.
References already_indented_, CHECK, ids_, and needs_colon_.
Referenced by innerVisit().
|
protected |
Definition at line 308 of file RelAlgDagViewer.h.
Referenced by visitChild().
|
protected |
Definition at line 305 of file RelAlgDagViewer.h.
Referenced by emplaceVoid(), handleQueryEngineVector(), innerVisit(), visit(), and visitChild().
|
protected |
Definition at line 302 of file RelAlgDagViewer.h.
Referenced by innerVisit().
|
staticprotected |
Definition at line 313 of file RelAlgDagViewer.h.
|
protected |
Definition at line 303 of file RelAlgDagViewer.h.
Referenced by innerVisit().
|
protected |
Definition at line 310 of file RelAlgDagViewer.h.
Referenced by visitChild().
|
protected |
Definition at line 309 of file RelAlgDagViewer.h.
|
protected |
Definition at line 306 of file RelAlgDagViewer.h.
Referenced by emplaceVoid(), and innerVisit().
|
protected |
Definition at line 301 of file RelAlgDagViewer.h.
Referenced by innerVisit(), str(), and visit().
|
protected |
Definition at line 304 of file RelAlgDagViewer.h.
Referenced by clear(), and handleQueryEngineVector().
|
protected |
Definition at line 307 of file RelAlgDagViewer.h.
Referenced by emplaceVoid(), handleQueryEngineVector(), and innerVisit().
|
protected |
Definition at line 311 of file RelAlgDagViewer.h.
Referenced by clear(), and innerVisit().