OmniSciDB  471d68cefb
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
anonymous_namespace{QueryPlanDagExtractor.cpp} Namespace Reference

Classes

struct  IsEquivBinOp
 
struct  OpInfo
 

Functions

int get_input_idx (const RelLeftDeepInnerJoin *rel_left_deep_join, int const tbl_id)
 

Function Documentation

int anonymous_namespace{QueryPlanDagExtractor.cpp}::get_input_idx ( const RelLeftDeepInnerJoin rel_left_deep_join,
int const  tbl_id 
)

Definition at line 329 of file QueryPlanDagExtractor.cpp.

References RelAlgNode::getInput(), RelScan::getTableDescriptor(), RelAlgNode::inputCount(), and TableDescriptor::tableId.

Referenced by QueryPlanDagExtractor::handleLeftDeepJoinTree().

329  {
330  for (size_t input_idx = 0; input_idx < rel_left_deep_join->inputCount(); ++input_idx) {
331  auto const input_node = rel_left_deep_join->getInput(input_idx);
332  auto const scan_node = dynamic_cast<const RelScan*>(input_node);
333  int const target_table_id = scan_node ? scan_node->getTableDescriptor()->tableId
334  : -1 * input_node->getId(); // temporary table
335  if (target_table_id == tbl_id) {
336  return input_idx;
337  }
338  }
339  return -1;
340 }
const RelAlgNode * getInput(const size_t idx) const
const size_t inputCount() const
const TableDescriptor * getTableDescriptor() const

+ Here is the call graph for this function:

+ Here is the caller graph for this function: