OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SQLOperatorDetector Class Referencefinal

#include <SQLOperatorDetector.h>

+ Inheritance diagram for SQLOperatorDetector:
+ Collaboration diagram for SQLOperatorDetector:

Static Public Member Functions

static bool detect (RelAlgNode const *rel_alg_node, SQLOps target_op)
 

Private Member Functions

void visit (RexOperator const *op) override
 

Private Attributes

bool has_target_op_ {false}
 
SQLOps target_op_
 

Additional Inherited Members

- Public Member Functions inherited from RelRexDagVisitor
virtual ~RelRexDagVisitor ()=default
 
virtual void visit (RelAlgNode const *)
 
virtual void visit (RexScalar const *)
 
- Protected Member Functions inherited from RelRexDagVisitor
virtual void visit (RelAggregate const *)
 
virtual void visit (RelCompound const *)
 
virtual void visit (RelFilter const *)
 
virtual void visit (RelJoin const *)
 
virtual void visit (RelLeftDeepInnerJoin const *)
 
virtual void visit (RelLogicalUnion const *)
 
virtual void visit (RelLogicalValues const *)
 
virtual void visit (RelModify const *)
 
virtual void visit (RelProject const *)
 
virtual void visit (RelScan const *)
 
virtual void visit (RelSort const *)
 
virtual void visit (RelTableFunction const *)
 
virtual void visit (RelTranslatedJoin const *)
 
virtual void visit (RexAbstractInput const *)
 
virtual void visit (RexCase const *)
 
virtual void visit (RexFunctionOperator const *)
 
virtual void visit (RexInput const *)
 
virtual void visit (RexLiteral const *)
 
virtual void visit (RexRef const *)
 
virtual void visit (RexSubQuery const *)
 
virtual void visit (RexWindowFunctionOperator const *)
 
void castAndVisit (RelAlgNode const *)
 

Detailed Description

Definition at line 19 of file SQLOperatorDetector.h.

Member Function Documentation

bool SQLOperatorDetector::detect ( RelAlgNode const *  rel_alg_node,
SQLOps  target_op 
)
static

Definition at line 19 of file SQLOperatorDetector.cpp.

References has_target_op_, target_op_, and visit().

19  {
20  SQLOperatorDetector visitor;
21  visitor.target_op_ = target_op;
22  visitor.visit(rel_alg_node);
23  return visitor.has_target_op_;
24 }
void visit(RexOperator const *op) override

+ Here is the call graph for this function:

void SQLOperatorDetector::visit ( RexOperator const *  op)
overrideprivatevirtual

Reimplemented from RelRexDagVisitor.

Definition at line 26 of file SQLOperatorDetector.cpp.

References RexOperator::getOperator(), has_target_op_, target_op_, and RelRexDagVisitor::visit().

Referenced by detect().

26  {
27  if (op->getOperator() == target_op_) {
28  has_target_op_ = true;
29  }
31 }
virtual void visit(RelAlgNode const *)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

bool SQLOperatorDetector::has_target_op_ {false}
private

Definition at line 28 of file SQLOperatorDetector.h.

Referenced by detect(), and visit().

SQLOps SQLOperatorDetector::target_op_
private

Definition at line 29 of file SQLOperatorDetector.h.

Referenced by detect(), and visit().


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