OmniSciDB  cde582ebc3
 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 396 of file QueryPlanDagExtractor.cpp.

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

396  {
397  for (size_t input_idx = 0; input_idx < rel_left_deep_join->inputCount(); ++input_idx) {
398  auto const input_node = rel_left_deep_join->getInput(input_idx);
399  auto const scan_node = dynamic_cast<const RelScan*>(input_node);
400  int const target_table_id = scan_node ? scan_node->getTableDescriptor()->tableId
401  : -1 * input_node->getId(); // temporary table
402  if (target_table_id == tbl_id) {
403  return input_idx;
404  }
405  }
406  return -1;
407 }
const RelAlgNode * getInput(const size_t idx) const
Definition: RelAlgDag.h:826
const size_t inputCount() const
Definition: RelAlgDag.h:824
const TableDescriptor * getTableDescriptor() const
Definition: RelAlgDag.h:911

+ Here is the call graph for this function: