22//
33// Peloton
44//
5- // op_expression .h
5+ // operator_expression .h
66//
7- // Identification: src/include/optimizer/op_expression .h
7+ // Identification: src/include/optimizer/operator_expression .h
88//
9- // Copyright (c) 2015-16 , Carnegie Mellon University Database Group
9+ // Copyright (c) 2015-19 , Carnegie Mellon University Database Group
1010//
1111// ===----------------------------------------------------------------------===//
1212
1313#pragma once
1414
15+ #include " optimizer/abstract_node_expression.h"
1516#include " optimizer/operator_node.h"
1617
1718#include < memory>
@@ -21,25 +22,25 @@ namespace peloton {
2122namespace optimizer {
2223
2324// ===--------------------------------------------------------------------===//
24- // Operator Expr
25+ // Operator Expression
2526// ===--------------------------------------------------------------------===//
26- class OperatorExpression {
27+ class OperatorExpression : public AbstractNodeExpression {
2728 public:
28- OperatorExpression (Operator op );
29+ OperatorExpression (std::shared_ptr<AbstractNode> node );
2930
30- void PushChild (std::shared_ptr<OperatorExpression> op );
31+ void PushChild (std::shared_ptr<AbstractNodeExpression> child );
3132
3233 void PopChild ();
3334
34- const std::vector<std::shared_ptr<OperatorExpression >> &Children () const ;
35+ const std::vector<std::shared_ptr<AbstractNodeExpression >> &Children () const ;
3536
36- const Operator & Op () const ;
37+ const std::shared_ptr<AbstractNode> Node () const ;
3738
3839 const std::string GetInfo () const ;
3940
4041 private:
41- Operator op ;
42- std::vector<std::shared_ptr<OperatorExpression >> children;
42+ std::shared_ptr<AbstractNode> node ;
43+ std::vector<std::shared_ptr<AbstractNodeExpression >> children;
4344};
4445
4546} // namespace optimizer
0 commit comments