OmniSciDB
a5dc49c757
|
#include <RelAlgDag.h>
Public Member Functions | |
RelLogicalUnion () | |
RelLogicalUnion (RelAlgInputs, bool is_all) | |
virtual void | acceptChildren (Visitor &v) const override |
virtual void | accept (Visitor &v, std::string name) const override |
std::shared_ptr< RelAlgNode > | deepCopy () const override |
size_t | size () const override |
std::string | toString (RelRexToStringConfig config=RelRexToStringConfig::defaults()) const override |
std::string | getFieldName (const size_t i) const |
bool | isAll () const |
std::vector< TargetMetaInfo > | getCompatibleMetainfoTypes () const |
RexScalar const * | copyAndRedirectSource (RexScalar const *, size_t input_idx) const |
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 |
Public Attributes | |
std::vector< std::shared_ptr < const RexScalar > > | scalar_exprs_ |
Private Member Functions | |
bool | allStringCastsAreToDictionaryEncodedStrings () const |
Private Attributes | |
bool | is_all_ |
Friends | |
struct | RelAlgDagSerializer |
std::size_t | hash_value (RelLogicalUnion 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 2741 of file RelAlgDag.h.
|
inline |
Definition at line 2744 of file RelAlgDag.h.
RelLogicalUnion::RelLogicalUnion | ( | RelAlgInputs | inputs, |
bool | is_all | ||
) |
Definition at line 834 of file RelAlgDag.cpp.
References allStringCastsAreToDictionaryEncodedStrings(), CHECK_LE, g_enable_union, RelAlgNode::inputs_, and is_all_.
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 2755 of file RelAlgDag.h.
References acceptChildren(), and RelAlgDagNode::Visitor::visit().
Referenced by TableFunctionsFactory_node.PrintNode::__str__().
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 2748 of file RelAlgDag.h.
References RelAlgNode::getInputs(), and anonymous_namespace{Utm.h}::n.
Referenced by accept().
|
private |
Definition at line 955 of file RelAlgDag.cpp.
References RelAlgNode::inputs_, and kCAST.
Referenced by RelLogicalUnion().
RexScalar const * RelLogicalUnion::copyAndRedirectSource | ( | RexScalar const * | rex_scalar, |
size_t | input_idx | ||
) | const |
Definition at line 944 of file RelAlgDag.cpp.
References RelAlgNode::getInput(), scalar_exprs_, and RexInput::setSourceNode().
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 2761 of file RelAlgDag.h.
std::vector< TargetMetaInfo > RelLogicalUnion::getCompatibleMetainfoTypes | ( | ) | const |
Definition at line 911 of file RelAlgDag.cpp.
References SQLTypeInfo::get_notnull(), anonymous_namespace{RelAlgDag.cpp}::get_notnulls(), logger::INFO, RelAlgNode::inputs_, SQLTypeInfo::is_dict_encoded_string(), LOG, anonymous_namespace{RelAlgDag.cpp}::same_ignoring_notnull(), anonymous_namespace{RelAlgDag.cpp}::set_notnulls(), and SQLTypeInfo::to_string().
Referenced by RelAlgExecutor::executeUnion().
std::string RelLogicalUnion::getFieldName | ( | const size_t | i | ) | const |
Definition at line 860 of file RelAlgDag.cpp.
References RelAlgNode::inputs_, toString(), and UNREACHABLE.
|
inline |
Definition at line 2770 of file RelAlgDag.h.
References is_all_.
Referenced by RelAlgExecutor::createUnionWorkUnit(), and RelAlgExecutor::executeUnion().
|
overridevirtual |
Implements RelAlgNode.
Definition at line 852 of file RelAlgDag.cpp.
References RelAlgNode::inputs_.
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 2778 of file RelAlgDag.h.
References hash_value.
|
overridevirtual |
Implements RelAlgNode.
Definition at line 856 of file RelAlgDag.cpp.
References cat(), is_all_, and typeName().
Referenced by getFieldName().
|
friend |
|
friend |
Definition at line 2786 of file RelAlgDag.h.
|
private |
Definition at line 2784 of file RelAlgDag.h.
Referenced by hash_value(), isAll(), RelLogicalUnion(), and toString().
|
mutable |
Definition at line 2776 of file RelAlgDag.h.
Referenced by copyAndRedirectSource().