OmniSciDB
bf83d84833
|
#include <RelAlgDagBuilder.h>
Public Member Functions | |
RelCompound (std::unique_ptr< const RexScalar > &filter_expr, const std::vector< const Rex * > &target_exprs, const size_t groupby_count, const std::vector< const RexAgg * > &agg_exprs, const std::vector< std::string > &fields, std::vector< std::unique_ptr< const RexScalar >> &scalar_sources, const bool is_agg, bool update_disguised_as_select=false, bool delete_disguised_as_select=false, bool varlen_update_required=false, TableDescriptor const *manipulation_target_table=nullptr, ColumnNameList target_columns=ColumnNameList()) | |
RelCompound (RelCompound const &) | |
void | replaceInput (std::shared_ptr< const RelAlgNode > old_input, std::shared_ptr< const RelAlgNode > input) override |
size_t | size () const override |
const RexScalar * | getFilterExpr () const |
void | setFilterExpr (std::unique_ptr< const RexScalar > &new_expr) |
const Rex * | getTargetExpr (const size_t i) const |
const std::vector< std::string > & | getFields () const |
const std::string | getFieldName (const size_t i) const |
const size_t | getScalarSourcesSize () const |
const RexScalar * | getScalarSource (const size_t i) const |
void | setScalarSources (std::vector< std::unique_ptr< const RexScalar >> &new_sources) |
const size_t | getGroupByCount () const |
bool | isAggregate () const |
std::string | toString () const override |
std::shared_ptr< RelAlgNode > | deepCopy () const override |
void | addHint (const HintExplained &hint_explained) |
const bool | hasHintEnabled (const std::string &candidate_hint_name) const |
const HintExplained & | getHintInfo (const std::string &hint_name) const |
![]() | |
RelAlgNode (RelAlgInputs inputs={}) | |
virtual | ~RelAlgNode () |
void | resetQueryExecutionState () |
void | setContextData (const void *context_data) const |
void | setOutputMetainfo (const std::vector< TargetMetaInfo > &targets_metainfo) const |
const std::vector < TargetMetaInfo > & | getOutputMetainfo () const |
unsigned | getId () const |
bool | hasContextData () const |
const void * | 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 |
bool | isNop () const |
void | markAsNop () |
void | clearContextData () const |
![]() | |
ModifyManipulationTarget (bool const update_via_select=false, bool const delete_via_select=false, bool const varlen_update_required=false, TableDescriptor const *table_descriptor=nullptr, ColumnNameList target_columns=ColumnNameList()) | |
void | setUpdateViaSelectFlag () const |
void | setDeleteViaSelectFlag () const |
void | setVarlenUpdateRequired (bool required) const |
TableDescriptor const * | getModifiedTableDescriptor () const |
void | setModifiedTableDescriptor (TableDescriptor const *td) const |
auto const | isUpdateViaSelect () const |
auto const | isDeleteViaSelect () const |
auto const | isVarlenUpdateRequired () const |
void | setTargetColumns (ColumnNameList const &target_columns) const |
ColumnNameList const & | getTargetColumns () const |
template<typename VALIDATION_FUNCTOR > | |
bool | validateTargetColumns (VALIDATION_FUNCTOR validator) const |
Private Attributes | |
std::unique_ptr< const RexScalar > | filter_expr_ |
const size_t | groupby_count_ |
std::vector< std::unique_ptr < const RexAgg > > | agg_exprs_ |
const std::vector< std::string > | fields_ |
const bool | is_agg_ |
std::vector< std::unique_ptr < const RexScalar > > | scalar_sources_ |
const std::vector< const Rex * > | target_exprs_ |
bool | hint_applied_ |
std::unique_ptr< Hints > | hints_ |
Additional Inherited Members | |
![]() | |
static void | resetRelAlgFirstId () noexcept |
![]() | |
RelAlgInputs | inputs_ |
const unsigned | id_ |
Definition at line 1269 of file RelAlgDagBuilder.h.
|
inline |
Definition at line 1274 of file RelAlgDagBuilder.h.
References agg_exprs_, and CHECK_EQ.
RelCompound::RelCompound | ( | RelCompound const & | rhs | ) |
Definition at line 442 of file RelAlgDagBuilder.cpp.
References addHint(), filter_expr_, hint_applied_, hints_, and RexVisitorBase< T >::visit().
|
inline |
Definition at line 1345 of file RelAlgDagBuilder.h.
References HintExplained::getHintName(), hint_applied_, and hints_.
Referenced by RelCompound().
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 1341 of file RelAlgDagBuilder.h.
|
inline |
|
inline |
|
inline |
Definition at line 1312 of file RelAlgDagBuilder.h.
References filter_expr_.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::get_used_inputs(), anonymous_namespace{RelAlgExecutor.cpp}::translate_quals(), RelRexDagVisitor::visit(), and anonymous_namespace{QueryPhysicalInputsCollector.cpp}::RelAlgPhysicalInputsVisitor::visitCompound().
|
inline |
Definition at line 1335 of file RelAlgDagBuilder.h.
References groupby_count_.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::translate_groupby_exprs().
|
inline |
Definition at line 1359 of file RelAlgDagBuilder.h.
References CHECK, hasHintEnabled(), hint_applied_, and hints_.
|
inline |
Definition at line 1326 of file RelAlgDagBuilder.h.
References scalar_sources_.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::get_used_inputs(), anonymous_namespace{RelAlgExecutor.cpp}::scalar_at(), and anonymous_namespace{QueryPhysicalInputsCollector.cpp}::RelAlgPhysicalInputsVisitor::visitCompound().
|
inline |
Definition at line 1324 of file RelAlgDagBuilder.h.
References scalar_sources_.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::get_scalar_sources_size(), anonymous_namespace{RelAlgExecutor.cpp}::get_used_inputs(), and anonymous_namespace{QueryPhysicalInputsCollector.cpp}::RelAlgPhysicalInputsVisitor::visitCompound().
|
inline |
Definition at line 1318 of file RelAlgDagBuilder.h.
References target_exprs_.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::translate_targets().
|
inline |
Definition at line 1352 of file RelAlgDagBuilder.h.
References hint_applied_, and hints_.
Referenced by getHintInfo().
|
inline |
Definition at line 1337 of file RelAlgDagBuilder.h.
References is_agg_.
Referenced by RelAlgExecutor::executeCompound(), and anonymous_namespace{RelAlgExecutor.cpp}::translate_groupby_exprs().
|
overridevirtual |
Reimplemented from RelAlgNode.
Definition at line 325 of file RelAlgDagBuilder.cpp.
References filter_expr_, RelAlgNode::replaceInput(), and scalar_sources_.
|
inline |
Definition at line 1314 of file RelAlgDagBuilder.h.
References filter_expr_.
|
inline |
Definition at line 1330 of file RelAlgDagBuilder.h.
References CHECK_EQ, and scalar_sources_.
|
inlineoverridevirtual |
Implements RelAlgNode.
Definition at line 1310 of file RelAlgDagBuilder.h.
References target_exprs_.
Referenced by RelAlgExecutor::createCompoundWorkUnit(), and anonymous_namespace{RelAlgExecutor.cpp}::translate_targets().
|
overridevirtual |
Implements RelAlgNode.
Definition at line 2700 of file RelAlgDagBuilder.cpp.
References agg_exprs_, cat(), fields_, filter_expr_, groupby_count_, is_agg_, scalar_sources_, target_exprs_, and to_string().
|
private |
Definition at line 1369 of file RelAlgDagBuilder.h.
Referenced by RelCompound(), and toString().
|
private |
Definition at line 1370 of file RelAlgDagBuilder.h.
Referenced by getFieldName(), getFields(), and toString().
|
private |
Definition at line 1367 of file RelAlgDagBuilder.h.
Referenced by getFilterExpr(), RelCompound(), replaceInput(), setFilterExpr(), and toString().
|
private |
Definition at line 1368 of file RelAlgDagBuilder.h.
Referenced by getGroupByCount(), and toString().
|
private |
Definition at line 1376 of file RelAlgDagBuilder.h.
Referenced by addHint(), getHintInfo(), hasHintEnabled(), and RelCompound().
|
private |
Definition at line 1377 of file RelAlgDagBuilder.h.
Referenced by addHint(), getHintInfo(), hasHintEnabled(), and RelCompound().
|
private |
Definition at line 1371 of file RelAlgDagBuilder.h.
Referenced by isAggregate(), and toString().
|
private |
Definition at line 1373 of file RelAlgDagBuilder.h.
Referenced by getScalarSource(), getScalarSourcesSize(), replaceInput(), setScalarSources(), and toString().
|
private |
Definition at line 1375 of file RelAlgDagBuilder.h.
Referenced by getTargetExpr(), size(), and toString().