OmniSciDB
c1a53651b2
|
#include <RelAlgDag.h>
Public Member Functions | |
RelAggregate () | |
RelAggregate (const size_t groupby_count, std::vector< std::unique_ptr< const RexAgg >> &agg_exprs, const std::vector< std::string > &fields, std::shared_ptr< const RelAlgNode > input) | |
RelAggregate (RelAggregate const &) | |
size_t | size () const override |
const size_t | getGroupByCount () const |
const size_t | getAggExprsCount () const |
const std::vector< std::string > & | getFields () const |
void | setFields (std::vector< std::string > &&new_fields) |
const std::string | getFieldName (const size_t i) const |
std::vector< const RexAgg * > | getAggregatesAndRelease () |
std::vector< std::unique_ptr < const RexAgg > > | getAggExprsAndRelease () |
const std::vector < std::unique_ptr< const RexAgg > > & | getAggExprs () const |
void | setAggExprs (std::vector< std::unique_ptr< const RexAgg >> &agg_exprs) |
std::string | toString (RelRexToStringConfig config=RelRexToStringConfig::defaults()) const override |
size_t | toHash () const override |
std::shared_ptr< RelAlgNode > | deepCopy () const override |
void | addHint (const ExplainedQueryHint &hint_explained) |
const bool | hasHintEnabled (QueryHint candidate_hint) const |
const ExplainedQueryHint & | getHintInfo (QueryHint hint) const |
bool | hasDeliveredHint () |
Hints * | getDeliveredHints () |
![]() | |
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 |
void | setIdInPlanTree (size_t id) const |
std::optional< size_t > | getIdInPlanTree () 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 () |
void | clearContextData () const |
Private Attributes | |
size_t | groupby_count_ |
std::vector< std::unique_ptr < const RexAgg > > | agg_exprs_ |
std::vector< std::string > | fields_ |
bool | hint_applied_ |
std::unique_ptr< Hints > | hints_ |
Friends | |
struct | RelAlgDagSerializer |
Additional Inherited Members | |
![]() | |
static void | resetRelAlgFirstId () noexcept |
![]() | |
RelAlgInputs | inputs_ |
unsigned | id_ |
std::optional< size_t > | id_in_plan_tree_ |
std::optional< size_t > | hash_ |
Definition at line 1320 of file RelAlgDag.h.
|
inline |
Definition at line 1323 of file RelAlgDag.h.
Referenced by toHash().
|
inline |
Definition at line 1326 of file RelAlgDag.h.
References RelAlgNode::inputs_.
RelAggregate::RelAggregate | ( | RelAggregate const & | rhs | ) |
Definition at line 583 of file RelAlgDag.cpp.
References addHint(), agg_exprs_, hint_applied_, and hints_.
|
inline |
Definition at line 1416 of file RelAlgDag.h.
References ExplainedQueryHint::getHint(), hint_applied_, and hints_.
Referenced by RelAggregate().
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 1412 of file RelAlgDag.h.
|
inline |
Definition at line 1365 of file RelAlgDag.h.
References agg_exprs_.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::get_used_inputs(), and anonymous_namespace{RelAlgExecutor.cpp}::translate_targets().
|
inline |
Definition at line 1361 of file RelAlgDag.h.
References agg_exprs_.
|
inline |
Definition at line 1344 of file RelAlgDag.h.
References agg_exprs_.
|
inline |
Definition at line 1353 of file RelAlgDag.h.
References agg_exprs_, and run_benchmark_import::result.
|
inline |
Definition at line 1439 of file RelAlgDag.h.
References hints_.
Referenced by anonymous_namespace{RelAlgDag.cpp}::handle_query_hint().
|
inline |
|
inline |
|
inline |
Definition at line 1342 of file RelAlgDag.h.
References groupby_count_.
Referenced by anonymous_namespace{RelAlgDag.cpp}::add_window_function_pre_project(), anonymous_namespace{RelAlgExecutor.cpp}::get_used_inputs(), and anonymous_namespace{RelAlgExecutor.cpp}::translate_groupby_exprs().
|
inline |
Definition at line 1430 of file RelAlgDag.h.
References CHECK, hasHintEnabled(), hint_applied_, and hints_.
|
inline |
|
inline |
Definition at line 1423 of file RelAlgDag.h.
References hint_applied_, and hints_.
Referenced by getHintInfo().
|
inline |
Definition at line 1369 of file RelAlgDag.h.
References agg_exprs_.
|
inline |
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 1340 of file RelAlgDag.h.
References agg_exprs_, and groupby_count_.
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 1397 of file RelAlgDag.h.
References agg_exprs_, fields_, groupby_count_, RelAlgNode::hash_, RelAlgNode::inputs_, RelAggregate(), and toString().
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 1373 of file RelAlgDag.h.
References agg_exprs_, cat(), fields_, groupby_count_, RelAlgNode::inputs_, to_string(), and typeName().
Referenced by toHash().
|
friend |
Definition at line 1448 of file RelAlgDag.h.
|
private |
Definition at line 1443 of file RelAlgDag.h.
Referenced by getAggExprs(), getAggExprsAndRelease(), getAggExprsCount(), getAggregatesAndRelease(), RelAggregate(), setAggExprs(), size(), toHash(), and toString().
|
private |
Definition at line 1444 of file RelAlgDag.h.
Referenced by getFieldName(), getFields(), setFields(), toHash(), and toString().
|
private |
Definition at line 1442 of file RelAlgDag.h.
Referenced by getGroupByCount(), size(), toHash(), and toString().
|
private |
Definition at line 1445 of file RelAlgDag.h.
Referenced by addHint(), getHintInfo(), hasHintEnabled(), and RelAggregate().
|
private |
Definition at line 1446 of file RelAlgDag.h.
Referenced by addHint(), getDeliveredHints(), getHintInfo(), hasDeliveredHint(), hasHintEnabled(), and RelAggregate().