OmniSciDB  1dac507f6e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
anonymous_namespace{RelAlgOptimizer.cpp}::AvailabilityChecker Class Reference

Public Member Functions

 AvailabilityChecker (const std::unordered_map< const RelAlgNode *, std::unordered_map< size_t, size_t >> &liveouts, const std::unordered_set< const RelAlgNode * > &intact_nodes)
 
bool hasAllSrcReady (const RelAlgNode *node) const
 

Private Attributes

const std::unordered_map
< const RelAlgNode
*, std::unordered_map< size_t,
size_t > > & 
liveouts_
 
const std::unordered_set
< const RelAlgNode * > & 
intact_nodes_
 

Detailed Description

Definition at line 704 of file RelAlgOptimizer.cpp.

Constructor & Destructor Documentation

anonymous_namespace{RelAlgOptimizer.cpp}::AvailabilityChecker::AvailabilityChecker ( const std::unordered_map< const RelAlgNode *, std::unordered_map< size_t, size_t >> &  liveouts,
const std::unordered_set< const RelAlgNode * > &  intact_nodes 
)
inline

Definition at line 706 of file RelAlgOptimizer.cpp.

710  : liveouts_(liveouts), intact_nodes_(intact_nodes) {}
const std::unordered_map< const RelAlgNode *, std::unordered_map< size_t, size_t > > & liveouts_
const std::unordered_set< const RelAlgNode * > & intact_nodes_

Member Function Documentation

bool anonymous_namespace{RelAlgOptimizer.cpp}::AvailabilityChecker::hasAllSrcReady ( const RelAlgNode node) const
inline

Definition at line 712 of file RelAlgOptimizer.cpp.

References RelAlgNode::getInput(), RelAlgNode::inputCount(), and src.

Referenced by anonymous_namespace{RelAlgOptimizer.cpp}::propagate_input_renumbering(), and anonymous_namespace{RelAlgOptimizer.cpp}::sweep_dead_columns().

712  {
713  for (size_t i = 0; i < node->inputCount(); ++i) {
714  auto src = node->getInput(i);
715  if (!dynamic_cast<const RelScan*>(src) && liveouts_.find(src) == liveouts_.end() &&
716  !intact_nodes_.count(src)) {
717  return false;
718  }
719  }
720  return true;
721  }
int64_t * src
const std::unordered_map< const RelAlgNode *, std::unordered_map< size_t, size_t > > & liveouts_
const RelAlgNode * getInput(const size_t idx) const
const std::unordered_set< const RelAlgNode * > & intact_nodes_
const size_t inputCount() const

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

const std::unordered_set<const RelAlgNode*>& anonymous_namespace{RelAlgOptimizer.cpp}::AvailabilityChecker::intact_nodes_
private

Definition at line 726 of file RelAlgOptimizer.cpp.

const std::unordered_map<const RelAlgNode*, std::unordered_map<size_t, size_t> >& anonymous_namespace{RelAlgOptimizer.cpp}::AvailabilityChecker::liveouts_
private

Definition at line 725 of file RelAlgOptimizer.cpp.


The documentation for this class was generated from the following file: