You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by sp...@apache.org on 2016/12/11 17:45:52 UTC

[29/51] [abbrv] [partial] incubator-quickstep git commit: remove c++ files

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParsePredicate.hpp
----------------------------------------------------------------------
diff --git a/parser/ParsePredicate.hpp b/parser/ParsePredicate.hpp
deleted file mode 100644
index cc3e66d..0000000
--- a/parser/ParsePredicate.hpp
+++ /dev/null
@@ -1,453 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#ifndef QUICKSTEP_PARSER_PARSE_PREDICATE_HPP_
-#define QUICKSTEP_PARSER_PARSE_PREDICATE_HPP_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "parser/ParseExpression.hpp"
-#include "parser/ParseTreeNode.hpp"
-#include "utility/Macros.hpp"
-#include "utility/PtrList.hpp"
-
-namespace quickstep {
-
-class Comparison;
-
-/** \addtogroup Parser
- *  @{
- */
-
-/**
- * @brief The parsed representation of a predicate.
- **/
-class ParsePredicate : public ParseTreeNode {
- public:
-  /**
-   * @brief The possible types of ParsePredicates.
-   **/
-  enum ParsePredicateType {
-    kBetween,
-    kComparison,
-    kNegation,
-    kConjunction,
-    kDisjunction,
-    kExists,
-    kInTableQuery,
-    kInValueList
-  };
-
-  /**
-   * @brief Virtual destructor.
-   **/
-  ~ParsePredicate() override {}
-
-  /**
-   * @brief Identify the type of this ParsePredicate.
-   *
-   * @return The type of this ParsePredicate.
-   **/
-  virtual ParsePredicateType getParsePredicateType() const = 0;
-
- protected:
-  ParsePredicate(const int line_number, const int column_number)
-      : ParseTreeNode(line_number, column_number) {
-  }
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(ParsePredicate);
-};
-
-/**
- * @brief The parsed representation of a simple comparison predicate.
- **/
-class ParsePredicateComparison : public ParsePredicate {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number Line number of the comparison operator token in the SQL statement.
-   * @param column_number Column number of the comparison operator token in the SQL statement.
-   * @param op The comparison (from the quickstep type system).
-   * @param left_operand The left operand of the comparison, which becomes
-   *        owned by this ParsePredicateComparison.
-   * @param right_operand The right operand of the comparison, which becomes
-   *        owned by this ParsePredicateComparison.
-   **/
-  ParsePredicateComparison(const int line_number,
-                           const int column_number,
-                           const Comparison &op,
-                           ParseExpression *left_operand,
-                           ParseExpression *right_operand)
-      : ParsePredicate(line_number, column_number),
-        op_(op),
-        left_operand_(left_operand),
-        right_operand_(right_operand) {
-  }
-
-  /**
-   * @brief Destructor.
-   */
-  ~ParsePredicateComparison() override {}
-
-  /**
-   * @return The comparison operator.
-   */
-  const Comparison& op() const {
-    return op_;
-  }
-
-  /**
-   * @return The left operand.
-   */
-  const ParseExpression* left_operand() const {
-    return left_operand_.get();
-  }
-
-  /**
-   * @return The right operand.
-   */
-  const ParseExpression* right_operand() const {
-    return right_operand_.get();
-  }
-
-  std::string getName() const override;
-
-  ParsePredicateType getParsePredicateType() const override {
-    return kComparison;
-  }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override;
-
- private:
-  const Comparison &op_;
-  std::unique_ptr<ParseExpression> left_operand_;
-  std::unique_ptr<ParseExpression> right_operand_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParsePredicateComparison);
-};
-
-/**
- * @brief The parsed representation of a NOT predicate.
- **/
-class ParsePredicateNegation : public ParsePredicate {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number Line number of the first token of this node in the SQL statement.
-   * @param column_number Column number of the first token of this node in the SQL statement.
-   * @param operand The inner predicate to be negated, becomes owned by this
-   *        ParsePredicateNegation.
-   **/
-  ParsePredicateNegation(const int line_number, const int column_number, ParsePredicate *operand)
-      : ParsePredicate(line_number, column_number), operand_(operand) {
-  }
-
-  /**
-   * @brief Destructor.
-   */
-  ~ParsePredicateNegation() override {}
-
-  /**
-   * @return The operand.
-   */
-  const ParsePredicate* operand() const {
-    return operand_.get();
-  }
-
-  ParsePredicateType getParsePredicateType() const override {
-    return kNegation;
-  }
-
-  std::string getName() const override {
-    return "Not";
-  }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override;
-
- private:
-  std::unique_ptr<ParsePredicate> operand_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParsePredicateNegation);
-};
-
-/**
- * @brief The parsed representation of a BETWEEN predicate.
- *        The parser does not convert it to two comparison
- *        predicates to avoid cloning and evaluating \p middle_operand_
- *        twice for complex expressions (subqueries or
- *        aggregations). The query optimizer is responsible for the conversion.
- **/
-class ParsePredicateBetween : public ParsePredicate {
- public:
-  /**
-   * @brief Construction.
-   *
-   * @param line_number The line number of 'BETWEEN' in the SQL statement.
-   * @param column_number The column number of 'BETWEEN' in the SQL statement.
-   * @param lower_bound_operand The operand on the left side of BETWEEN.
-   * @param check_operand The operand in between BETWEEN and AND.
-   * @param upper_bound_operand The operand after AND.
-   */
-  ParsePredicateBetween(const int line_number,
-                        const int column_number,
-                        ParseExpression *check_operand,
-                        ParseExpression *lower_bound_operand,
-                        ParseExpression *upper_bound_operand)
-      : ParsePredicate(line_number, column_number),
-        check_operand_(check_operand),
-        lower_bound_operand_(lower_bound_operand),
-        upper_bound_operand_(upper_bound_operand) {
-  }
-
-  /**
-   * @brief Destructor.
-   */
-  ~ParsePredicateBetween() override {}
-
-  /**
-   * @return The operand to be compared with the lower bound and
-   *         the upper bound.
-   */
-  const ParseExpression* check_operand() const {
-    return check_operand_.get();
-  }
-
-  /**
-   * @return Lower bound operand.
-   */
-  const ParseExpression* lower_bound_operand() const {
-    return lower_bound_operand_.get();
-  }
-
-  /**
-   * @return Upper bound operand.
-   */
-  const ParseExpression* upper_bound_operand() const {
-    return upper_bound_operand_.get();
-  }
-
-  ParsePredicateType getParsePredicateType() const override {
-    return kBetween;
-  }
-
-  std::string getName() const override {
-    return "Between";
-  }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override;
-
- private:
-  std::unique_ptr<ParseExpression> check_operand_;
-  std::unique_ptr<ParseExpression> lower_bound_operand_;
-  std::unique_ptr<ParseExpression> upper_bound_operand_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParsePredicateBetween);
-};
-
-/**
- * @brief Abstract base class of conjunction and disjunction predicates.
- **/
-class ParsePredicateWithList : public ParsePredicate {
- public:
-  ~ParsePredicateWithList() override {}
-
-  const PtrList<ParsePredicate>& operands() const {
-    return operands_;
-  }
-
-  /**
-   * @brief Add a child predicate to this conjunction or disjunction.
-   *
-   * @param operand The child predicate to add to this one, which becomes
-   *        owned by this predicate.
-   **/
-  void addPredicate(ParsePredicate *operand) {
-    operands_.push_back(operand);
-  }
-
- protected:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number Line number of the first token of this node in the SQL statement.
-   * @param column_number Column number of the first token of this node in the SQL statement.
-   **/
-  ParsePredicateWithList(const int line_number, const int column_number)
-      : ParsePredicate(line_number, column_number) {
-  }
-
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override;
-
-  PtrList<ParsePredicate> operands_;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(ParsePredicateWithList);
-};
-
-/**
- * @brief An AND over other predicates.
- **/
-class ParsePredicateConjunction : public ParsePredicateWithList {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number Line number of the first token of this node in the SQL statement.
-   * @param column_number Column number of the first token of this node in the SQL statement.
-   **/
-  ParsePredicateConjunction(const int line_number, const int column_number)
-      : ParsePredicateWithList(line_number, column_number) {
-  }
-
-  ParsePredicateType getParsePredicateType() const override {
-    return kConjunction;
-  }
-
-  std::string getName() const override {
-    return "And";
-  }
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(ParsePredicateConjunction);
-};
-
-/**
- * @brief An OR over other predicates.
- **/
-class ParsePredicateDisjunction : public ParsePredicateWithList {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number Line number of the first token of this node in the SQL statement.
-   * @param column_number Column number of the first token of this node in the SQL statement.
-   **/
-  ParsePredicateDisjunction(const int line_number, const int column_number)
-      : ParsePredicateWithList(line_number, column_number) {
-  }
-
-  ParsePredicateType getParsePredicateType() const override {
-    return kDisjunction;
-  }
-
-  std::string getName() const override {
-    return "Or";
-  }
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(ParsePredicateDisjunction);
-};
-
-
-/**
- * @brief Parsed representation of IN with a value list.
- */
-class ParsePredicateInValueList : public ParsePredicate {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number The line number of the token "IN" in the statement.
-   * @param column_number The column number of the token "IN" in the statement.
-   * @param test_expression The expression to be compared with a value list.
-   * @param value_list The list of values to match with test_expression.
-   */
-  ParsePredicateInValueList(const int line_number,
-                            const int column_number,
-                            ParseExpression *test_expression,
-                            PtrList<ParseExpression> *value_list)
-      : ParsePredicate(line_number, column_number),
-        test_expression_(test_expression),
-        value_list_(value_list) {}
-
-  ParsePredicateType getParsePredicateType() const override {
-    return kInValueList;
-  }
-
-  std::string getName() const override {
-    return "InValueList";
-  }
-
-  /**
-   * @return  The expression to be compared with a value list.
-   */
-  const ParseExpression* test_expression() const {
-    return test_expression_.get();
-  }
-
-  /**
-   * @return The list of values to match with test_expression.
-   */
-  const PtrList<ParseExpression>* value_list() const {
-    return value_list_.get();
-  }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override;
-
- private:
-  std::unique_ptr<ParseExpression> test_expression_;
-  std::unique_ptr<PtrList<ParseExpression>> value_list_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParsePredicateInValueList);
-};
-
-/** @} */
-
-}  // namespace quickstep
-
-#endif  // QUICKSTEP_PARSER_PARSE_PREDICATE_HPP_

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParsePredicateExists.hpp
----------------------------------------------------------------------
diff --git a/parser/ParsePredicateExists.hpp b/parser/ParsePredicateExists.hpp
deleted file mode 100644
index 1738964..0000000
--- a/parser/ParsePredicateExists.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#ifndef QUICKSTEP_PARSER_PARSE_PREDICATE_EXISTS_HPP_
-#define QUICKSTEP_PARSER_PARSE_PREDICATE_EXISTS_HPP_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "parser/ParsePredicate.hpp"
-#include "parser/ParseSubqueryExpression.hpp"
-#include "utility/Macros.hpp"
-
-namespace quickstep {
-
-class ParseTreeNode;
-
-/** \addtogroup Parser
- *  @{
- */
-
-/**
- * @brief The parsed representation of an EXISTS predicate.
- */
-class ParsePredicateExists : public ParsePredicate {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number The line number of the EXISTS token in the statement.
-   * @param column_number The column number of the EXISTS token in the statement.
-   * @param subquery The subquery expression for this EXISTS predicate.
-   */
-  ParsePredicateExists(const int line_number,
-                       const int column_number,
-                       ParseSubqueryExpression *subquery)
-      : ParsePredicate(line_number, column_number),
-        subquery_(subquery) {
-  }
-
-  ParsePredicateType getParsePredicateType() const override {
-    return kExists;
-  }
-
-  std::string getName() const override {
-    return "Exists";
-  }
-
-  /**
-   * @return The subquery expression for this EXISTS predicate.
-   */
-  const ParseSubqueryExpression* subquery() const {
-    return subquery_.get();
-  }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override {
-    non_container_child_field_names->push_back("subquery");
-    non_container_child_fields->push_back(subquery_.get());
-  }
-
- private:
-  std::unique_ptr<ParseSubqueryExpression> subquery_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParsePredicateExists);
-};
-
-/** @} */
-
-}  // namespace quickstep
-
-#endif  // QUICKSTEP_PARSER_PARSE_PREDICATE_EXISTS_HPP_

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParsePredicateInTableQuery.hpp
----------------------------------------------------------------------
diff --git a/parser/ParsePredicateInTableQuery.hpp b/parser/ParsePredicateInTableQuery.hpp
deleted file mode 100644
index d669522..0000000
--- a/parser/ParsePredicateInTableQuery.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#ifndef QUICKSTEP_PARSER_PARSE_PREDICATE_IN_TABLE_QUERY_HPP_
-#define QUICKSTEP_PARSER_PARSE_PREDICATE_IN_TABLE_QUERY_HPP_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "parser/ParseExpression.hpp"
-#include "parser/ParsePredicate.hpp"
-#include "parser/ParseSubqueryExpression.hpp"
-#include "utility/Macros.hpp"
-
-namespace quickstep {
-
-class ParseTreeNode;
-
-/** \addtogroup Parser
- *  @{
- */
-
-/**
- * @brief Parsed representation of IN with a table subquery expression.
- *
- * @note Putting the class here instead of in ParsePredicate.hpp is to avoid
- *       circular dependencies with ParseSelect.
- */
-class ParsePredicateInTableQuery : public ParsePredicate {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number The line number of the token "IN" in the statement.
-   * @param column_number The column number of the token "IN" in the statement.
-   * @param test_expression The expression to test with a subquery expression.
-   * @param table_query The table subquery expression to search for test_expression.
-   */
-  ParsePredicateInTableQuery(const int line_number,
-                             const int column_number,
-                             ParseExpression *test_expression,
-                             ParseSubqueryExpression *table_query)
-      : ParsePredicate(line_number, column_number),
-        test_expression_(test_expression),
-        table_query_(table_query) {}
-
-  ParsePredicateType getParsePredicateType() const override {
-    return kInTableQuery;
-  }
-
-  std::string getName() const override {
-    return "InTableQuery";
-  }
-
-  /**
-   * @return The expression to test with a subquery expression.
-   */
-  const ParseExpression* test_expression() const {
-    return test_expression_.get();
-  }
-
-  /**
-   * @return The table subquery expression to search for test_expression.
-   */
-  const ParseSubqueryExpression* table_query() const {
-    return table_query_.get();
-  }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override {
-    non_container_child_field_names->push_back("test_expression");
-    non_container_child_fields->push_back(test_expression_.get());
-
-    non_container_child_field_names->push_back("table_query");
-    non_container_child_fields->push_back(table_query_.get());
-  }
-
- private:
-  std::unique_ptr<ParseExpression> test_expression_;
-  std::unique_ptr<ParseSubqueryExpression> table_query_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParsePredicateInTableQuery);
-};
-
-/** @} */
-
-}  // namespace quickstep
-
-#endif  // QUICKSTEP_PARSER_PARSE_PREDICATE_IN_TABLE_QUERY_HPP_

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParsePriority.hpp
----------------------------------------------------------------------
diff --git a/parser/ParsePriority.hpp b/parser/ParsePriority.hpp
deleted file mode 100644
index e53fbfa..0000000
--- a/parser/ParsePriority.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#ifndef QUICKSTEP_PARSER_PARSE_PRIORITY_HPP_
-#define QUICKSTEP_PARSER_PARSE_PRIORITY_HPP_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "parser/ParseLiteralValue.hpp"
-#include "parser/ParseTreeNode.hpp"
-#include "utility/Macros.hpp"
-
-namespace quickstep {
-
-/** \addtogroup Parser
- *  @{
- */
-
-/**
- * @brief A parsed representation of PRIORITY.
- **/
-class ParsePriority : public ParseTreeNode {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number The line number of "PRIORITY" in the SQL statement.
-   * @param column_number The column number of "PRIORITY" in the SQL statement.
-   * @param priority_expression The PRIORITY value expression.
-   **/
-  ParsePriority(const int line_number,
-                const int column_number,
-                NumericParseLiteralValue *priority_expression)
-      : ParseTreeNode(line_number, column_number),
-        priority_expression_(priority_expression) {}
-
-  /**
-   * @brief Destructor.
-   */
-  ~ParsePriority() override {}
-
-  /**
-   * @brief Gets the PRIORITY expression.
-   *
-   * @return PRIORITY expression
-   */
-  const NumericParseLiteralValue* priority_expression() const {
-    return priority_expression_.get();
-  }
-
-  std::string getName() const override {
-    return "PRIORITY";
-  }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode *> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode *>> *container_child_fields)
-      const override {
-    non_container_child_field_names->push_back("");
-    non_container_child_fields->push_back(priority_expression_.get());
-  }
-
- private:
-  std::unique_ptr<NumericParseLiteralValue> priority_expression_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParsePriority);
-};
-
-/** @} */
-
-}  // namespace quickstep
-
-#endif  // QUICKSTEP_PARSER_PARSE_PRIORITY_HPP_

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParseSample.cpp
----------------------------------------------------------------------
diff --git a/parser/ParseSample.cpp b/parser/ParseSample.cpp
deleted file mode 100644
index 47e69e6..0000000
--- a/parser/ParseSample.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#include "parser/ParseSample.hpp"
-
-#include <string>
-#include <vector>
-
-#include "parser/ParseLiteralValue.hpp"
-
-namespace quickstep {
-
-void ParseSample::getFieldStringItems(std::vector<std::string> *inline_field_names,
-                                      std::vector<std::string> *inline_field_values,
-                                      std::vector<std::string> *non_container_child_field_names,
-                                      std::vector<const ParseTreeNode*> *non_container_child_fields,
-                                      std::vector<std::string> *container_child_field_names,
-                                      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const {
-  non_container_child_field_names->push_back("Sample Percentage");
-  non_container_child_fields->push_back(percentage_.get());
-}
-
-}  // namespace quickstep

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParseSample.hpp
----------------------------------------------------------------------
diff --git a/parser/ParseSample.hpp b/parser/ParseSample.hpp
deleted file mode 100644
index e2b5672..0000000
--- a/parser/ParseSample.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#ifndef QUICKSTEP_PARSER_PARSE_SAMPLE_HPP_
-#define QUICKSTEP_PARSER_PARSE_SAMPLE_HPP_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "parser/ParseLiteralValue.hpp"
-#include "parser/ParseTreeNode.hpp"
-#include "utility/Macros.hpp"
-
-namespace quickstep {
-
-/** \addtogroup Parser
- *  @{
- */
-
-/**
- * @brief A parsed representation of block/tuple sample.
- */
-class ParseSample : public ParseTreeNode {
- public:
-  /**
-   * @brief Constructor.
-   * @note This constructor takes ownership of \c percentage.
-   *
-   * @param line_number The line number of "SAMPLE" in the SQL statement.
-   * @param column_number The column number of "SAMPLE" in the SQL statement.
-   * @param is_block_sample The flag indicating whether this is block sample or tuple sample.
-   * @param percentage The percentage of data to sample.
-   */
-  ParseSample(const int line_number,
-              const int column_number,
-              const bool is_block_sample,
-              NumericParseLiteralValue *percentage)
-      : ParseTreeNode(line_number, column_number),
-        percentage_(percentage),
-        is_block_sample_(is_block_sample) {}
-
-  /**
-   * @brief Destructor.
-   */
-  ~ParseSample() override {}
-
-  /**
-   * @brief Get the sample percentage.
-   *
-   * @return The sample percentage.
-   */
-  const NumericParseLiteralValue* percentage() const {
-    return percentage_.get();
-  }
-
-  /**
-   * @brief Get the sample type indicating flag.
-   *
-   * @return True if this is a block sample. False if this is a tuple sample.
-   */
-  bool is_block_sample() const {
-    return is_block_sample_;
-  }
-
-  std::string getName() const override {
-    return "SAMPLE";
-  }
-
- protected:
-  void getFieldStringItems(std::vector<std::string> *inline_field_names,
-                           std::vector<std::string> *inline_field_values,
-                           std::vector<std::string> *non_container_child_field_names,
-                           std::vector<const ParseTreeNode*> *non_container_child_fields,
-                           std::vector<std::string> *container_child_field_names,
-                           std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override;
-
- private:
-  std::unique_ptr<NumericParseLiteralValue> percentage_;
-  const bool is_block_sample_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParseSample);
-};
-
-/** @} */
-
-}  // namespace quickstep
-
-#endif  // QUICKSTEP_PARSER_PARSE_SAMPLE_HPP_

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParseSelect.hpp
----------------------------------------------------------------------
diff --git a/parser/ParseSelect.hpp b/parser/ParseSelect.hpp
deleted file mode 100644
index d6732e6..0000000
--- a/parser/ParseSelect.hpp
+++ /dev/null
@@ -1,235 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#ifndef QUICKSTEP_PARSER_PARSE_SELECT_HPP_
-#define QUICKSTEP_PARSER_PARSE_SELECT_HPP_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "parser/ParseGroupBy.hpp"
-#include "parser/ParseHaving.hpp"
-#include "parser/ParseLimit.hpp"
-#include "parser/ParseOrderBy.hpp"
-#include "parser/ParsePredicate.hpp"
-#include "parser/ParseSelectionClause.hpp"
-#include "parser/ParseTableReference.hpp"
-#include "parser/ParseTreeNode.hpp"
-#include "parser/ParseWindow.hpp"
-#include "utility/Macros.hpp"
-#include "utility/PtrList.hpp"
-
-#include "glog/logging.h"
-
-namespace quickstep {
-
-/**
- * @brief The parsed representation of a (sub-query) SELECT statement.
- **/
-class ParseSelect : public ParseTreeNode {
- public:
-  /**
-   * @brief Constructor.
-   * @note Takes ownership of all pointers.
-   *
-   * @param line_number Line number of the first token of this node in the SQL statement.
-   * @param column_number Column number of the first token of this node in the SQL statement.
-   * @param selection The parsed selection, which becomes owned by this
-   *        ParseStatementSelect.
-   * @param from_list The parsed list of table references in the FROM clause,
-   *        which becomes owned by this ParseStatementSelect.
-   * @param where_predicate An optional predicate representing the parsed
-   *        WHERE clause (may be NULL if no predicate). Becomes owned by this
-   *        ParseStatementSelect if non-NULL.
-   * @param group_by Optional parsed GROUP BY clause. Becomes owned by this ParseStatementSelect.
-   * @param having_predicate Optional parsed HAVING clause. Becomes owned by this ParseStatementSelect.
-   * @param order_by Optional parsed ORDER BY clause. Becomes owned by this ParseStatementSelect.
-   * @param limit Optional parsed LIMIT clause. Becomes owned by this ParseStatementSelect.
-   **/
-  ParseSelect(const int line_number,
-              const int column_number,
-              ParseSelectionClause *selection,
-              PtrList<ParseTableReference> *from_list,
-              ParsePredicate *where_predicate,
-              ParseGroupBy *group_by,
-              ParseHaving *having,
-              ParseOrderBy *order_by,
-              ParseLimit *limit,
-              PtrList<ParseWindow> *window_list)
-      : ParseTreeNode(line_number, column_number),
-        selection_(selection),
-        from_list_(from_list),
-        where_predicate_(where_predicate),
-        group_by_(group_by),
-        having_(having),
-        order_by_(order_by),
-        limit_(limit),
-        window_list_(window_list) {
-  }
-
-  ~ParseSelect() override {
-  }
-
-  std::string getName() const override {
-    return "Select";
-  }
-
-  /**
-   * @brief Gets the selection.
-   *
-   * @return The selection.
-   **/
-  const ParseSelectionClause& selection() const {
-    return *selection_;
-  }
-
-  /**
-   * @brief Gets the FROM list.
-   *
-   * @return The list of table references in the FROM clause.
-   **/
-  const PtrList<ParseTableReference>& from_list() const {
-    return *from_list_;
-  }
-
-  /**
-   * @brief Determines whether this select statement has a WHERE predicate.
-   *
-   * @return Whether there is a WHERE predicate in this statement.
-   **/
-  bool hasWherePredicate() const {
-    return where_predicate_.get() != nullptr;
-  }
-
-  /**
-   * @brief Gets the WHERE predicate.
-   * @warning Always call hasWherePredicate() first.
-   *
-   * @return The parsed WHERE predicate.
-   **/
-  const ParsePredicate& where_predicate() const {
-    DCHECK(hasWherePredicate());
-    return *where_predicate_;
-  }
-
-  /**
-   * @brief Gets the parsed GROUP BY.
-   *
-   * @return The parsed GROUP BY.
-   */
-  const ParseGroupBy* group_by() const { return group_by_.get(); }
-
-  /**
-   * @brief Gets the parsed HAVING.
-   *
-   * @return The parsed HAVNING.
-   */
-  const ParseHaving* having() const { return having_.get(); }
-
-  /**
-   * @brief Gets the parsed ORDER BY.
-   *
-   * @return The parsed ORDER BY.
-   */
-  const ParseOrderBy* order_by() const { return order_by_.get(); }
-
-  /**
-   * @brief Gets the parsed LIMIT.
-   *
-   * @return The parsed LIMIT.
-   */
-  const ParseLimit* limit() const { return limit_.get(); }
-
-  /**
-   * @brief Gets the parsed WINDOW.
-   *
-   * @return The parsed WINDOW.
-   */
-  const PtrList<ParseWindow>* window_list() const { return window_list_.get(); }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override {
-    non_container_child_field_names->push_back("select_clause");
-    non_container_child_fields->push_back(selection_.get());
-
-    if (where_predicate_ != nullptr) {
-      non_container_child_field_names->push_back("where_clause");
-      non_container_child_fields->push_back(where_predicate_.get());
-    }
-
-    if (from_list_ != nullptr) {
-      container_child_field_names->push_back("from_clause");
-      container_child_fields->emplace_back();
-      for (const ParseTableReference &from_item : *from_list_) {
-        container_child_fields->back().push_back(&from_item);
-      }
-    }
-
-    if (group_by_ != nullptr) {
-      non_container_child_field_names->push_back("group_by");
-      non_container_child_fields->push_back(group_by_.get());
-    }
-
-    if (having_ != nullptr) {
-      non_container_child_field_names->push_back("having");
-      non_container_child_fields->push_back(having_.get());
-    }
-
-    if (order_by_ != nullptr) {
-      non_container_child_field_names->push_back("order_by");
-      non_container_child_fields->push_back(order_by_.get());
-    }
-
-    if (limit_ != nullptr) {
-      non_container_child_field_names->push_back("limit");
-      non_container_child_fields->push_back(limit_.get());
-    }
-
-    if (window_list_ != nullptr) {
-      container_child_field_names->push_back("window_list");
-      container_child_fields->emplace_back();
-      for (const ParseWindow &window : *window_list_) {
-        container_child_fields->back().push_back(&window);
-      }
-    }
-  }
-
- private:
-  std::unique_ptr<ParseSelectionClause> selection_;
-  std::unique_ptr<PtrList<ParseTableReference> > from_list_;
-  std::unique_ptr<ParsePredicate> where_predicate_;
-  std::unique_ptr<ParseGroupBy> group_by_;
-  std::unique_ptr<ParseHaving> having_;
-  std::unique_ptr<ParseOrderBy> order_by_;
-  std::unique_ptr<ParseLimit> limit_;
-  std::unique_ptr<PtrList<ParseWindow>> window_list_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParseSelect);
-};
-
-}  // namespace quickstep
-
-#endif /* QUICKSTEP_PARSER_PARSESELECT_HPP_ */

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParseSelectionClause.cpp
----------------------------------------------------------------------
diff --git a/parser/ParseSelectionClause.cpp b/parser/ParseSelectionClause.cpp
deleted file mode 100644
index 1e9a807..0000000
--- a/parser/ParseSelectionClause.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#include "parser/ParseSelectionClause.hpp"
-
-#include <string>
-#include <vector>
-
-#include "parser/ParseExpression.hpp"
-#include "parser/ParseString.hpp"
-
-namespace quickstep {
-
-void ParseSelectionItem::getFieldStringItems(
-    std::vector<std::string> *inline_field_names,
-    std::vector<std::string> *inline_field_values,
-    std::vector<std::string> *non_container_child_field_names,
-    std::vector<const ParseTreeNode*> *non_container_child_fields,
-    std::vector<std::string> *container_child_field_names,
-    std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const {
-  if (alias_ != nullptr) {
-    inline_field_names->push_back("alias");
-    inline_field_values->push_back(alias_->value());
-  }
-
-  non_container_child_field_names->push_back("");
-  non_container_child_fields->push_back(expression_.get());
-}
-
-void ParseSelectionList::getFieldStringItems(
-    std::vector<std::string> *inline_field_names,
-    std::vector<std::string> *inline_field_values,
-    std::vector<std::string> *non_container_child_field_names,
-    std::vector<const ParseTreeNode*> *non_container_child_fields,
-    std::vector<std::string> *container_child_field_names,
-    std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const {
-  container_child_field_names->push_back("");
-  container_child_fields->emplace_back();
-  for (const ParseSelectionItem& select_item : select_item_list_) {
-    container_child_fields->back().push_back(&select_item);
-  }
-}
-
-}  // namespace quickstep

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParseSelectionClause.hpp
----------------------------------------------------------------------
diff --git a/parser/ParseSelectionClause.hpp b/parser/ParseSelectionClause.hpp
deleted file mode 100644
index f636f36..0000000
--- a/parser/ParseSelectionClause.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#ifndef QUICKSTEP_PARSER_PARSE_SELECTION_CLAUSE_HPP_
-#define QUICKSTEP_PARSER_PARSE_SELECTION_CLAUSE_HPP_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "parser/ParseExpression.hpp"
-#include "parser/ParseString.hpp"
-#include "parser/ParseTreeNode.hpp"
-#include "utility/Macros.hpp"
-#include "utility/PtrList.hpp"
-
-namespace quickstep {
-
-class ParseSelectionItem;
-
-/** \addtogroup Parser
- *  @{
- */
-
-/**
- * @brief The complete selection in a SELECT statement.
- **/
-class ParseSelectionClause : public ParseTreeNode {
- public:
-  /**
-   * @brief The type of a SELECT clause.
-   */
-  enum SelectionType {
-    kStar,     //!< kStar Represents a SELECT clause with * as its only SELECT-list item.
-    kNonStar,  //!< kNonStar Represents a SELECT clause with expressions.
-  };
-
-  /**
-   * @return The type of this SELECT clause.
-   */
-  virtual SelectionType getSelectionType() const = 0;
-
- protected:
-  ParseSelectionClause(const int line_number, const int column_number)
-      : ParseTreeNode(line_number, column_number) {
-  }
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(ParseSelectionClause);
-};
-
-/**
- * @brief A "star" (*) selection, representing all attributes from all
- *        relations in the FROM list.
- **/
-class ParseSelectionStar : public ParseSelectionClause {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number The line number of "*" in the SQL statement string.
-   * @param column_number The column number of "*" in the SQL statement string.
-   */
-  ParseSelectionStar(const int line_number, const int column_number)
-      : ParseSelectionClause(line_number, column_number) {
-  }
-
-  SelectionType getSelectionType() const override {
-    return kStar;
-  }
-
-  std::string getName() const override { return "SelectStar"; }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override {}
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(ParseSelectionStar);
-};
-
-/**
- * @brief A list of comma-seperated ParseSelectionItems.
- **/
-class ParseSelectionList : public ParseSelectionClause {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number The line number of the first token of the SELECT list in the SQL statement string.
-   * @param column_number The column number of the first token of the SELECT list in the SQL statement string.
-   */
-  ParseSelectionList(const int line_number, const int column_number)
-      : ParseSelectionClause(line_number, column_number) {
-  }
-
-  SelectionType getSelectionType() const override {
-    return kNonStar;
-  }
-
-  std::string getName() const override { return "SelectList"; }
-
-  /**
-   * @return The list of SELECT-list items.
-   */
-  const PtrList<ParseSelectionItem>& select_item_list() const { return select_item_list_; }
-
-  /**
-   * @brief Append an item to the selection list.
-   *
-   * @param item The selection item to add to the end of this selection list,
-   *        which becomes owned by this ParseSelectionList.
-   **/
-  void add(ParseSelectionItem *item) {
-    select_item_list_.push_back(item);
-  }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override;
-
- private:
-  PtrList<ParseSelectionItem> select_item_list_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParseSelectionList);
-};
-
-/**
- * @brief A SELECT-list item that consists of an expression and optionally an alias.
- */
-class ParseSelectionItem : public ParseTreeNode {
- public:
-  /**
-   * @brief Constructor.
-   *
-   * @param line_number The line number of the first token of this item in the SQL statement string.
-   * @param column_number The column number of the first token of this item in the SQL statement string.
-   * @param expression The SELECT-list expression.
-   * @param alias The expression alias name.
-   */
-  ParseSelectionItem(const int line_number,
-                     const int column_number,
-                     ParseExpression *expression,
-                     ParseString *alias = nullptr)
-     : ParseTreeNode(line_number, column_number),
-       expression_(expression),
-       alias_(alias) {}
-
-  /**
-   * @brief Destructor.
-   */
-  ~ParseSelectionItem() override {}
-
-  std::string getName() const override { return "SelectListItem"; }
-
-  /**
-   * @return The SELECT-list expression.
-   */
-  const ParseExpression* expression() const { return expression_.get(); }
-
-  /**
-   * @return The alias of the SELECT-list expression.
-   */
-  const ParseString* alias() const { return alias_.get(); }
-
-  /**
-   * @return Generates a human-readable name for the current expression.
-   */
-  std::string generateName() const {
-    return expression_->generateName();
-  }
-
- protected:
-  void getFieldStringItems(
-        std::vector<std::string> *inline_field_names,
-        std::vector<std::string> *inline_field_values,
-        std::vector<std::string> *non_container_child_field_names,
-        std::vector<const ParseTreeNode*> *non_container_child_fields,
-        std::vector<std::string> *container_child_field_names,
-        std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override;
-
- private:
-  std::unique_ptr<ParseExpression> expression_;
-  std::unique_ptr<ParseString> alias_;
-
-  DISALLOW_COPY_AND_ASSIGN(ParseSelectionItem);
-};
-
-/** @} */
-
-}  // namespace quickstep
-
-#endif  // QUICKSTEP_PARSER_PARSE_SELECTION_CLAUSE_HPP_

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParseSimpleTableReference.cpp
----------------------------------------------------------------------
diff --git a/parser/ParseSimpleTableReference.cpp b/parser/ParseSimpleTableReference.cpp
deleted file mode 100644
index 518dc20..0000000
--- a/parser/ParseSimpleTableReference.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#include "parser/ParseSimpleTableReference.hpp"
-
-#include <string>
-#include <vector>
-
-#include "parser/ParseSample.hpp"
-#include "parser/ParseTableReference.hpp"
-
-namespace quickstep {
-
-class ParseTreeNode;
-
-void ParseSimpleTableReference::getFieldStringItems(
-    std::vector<std::string> *inline_field_names,
-    std::vector<std::string> *inline_field_values,
-    std::vector<std::string> *non_container_child_field_names,
-    std::vector<const ParseTreeNode*> *non_container_child_fields,
-    std::vector<std::string> *container_child_field_names,
-    std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const {
-  ParseTableReference::getFieldStringItems(inline_field_names,
-                                           inline_field_values,
-                                           non_container_child_field_names,
-                                           non_container_child_fields,
-                                           container_child_field_names,
-                                           container_child_fields);
-  inline_field_names->push_back("table");
-  inline_field_values->push_back(table_name_->value());
-  if (sample_ != nullptr) {
-    non_container_child_field_names->push_back("sample");
-    non_container_child_fields->push_back(sample_.get());
-  }
-}
-
-}  // namespace quickstep

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/156290a4/parser/ParseSimpleTableReference.hpp
----------------------------------------------------------------------
diff --git a/parser/ParseSimpleTableReference.hpp b/parser/ParseSimpleTableReference.hpp
deleted file mode 100644
index 4ff92a5..0000000
--- a/parser/ParseSimpleTableReference.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- **/
-
-#ifndef QUICKSTEP_PARSER_PARSE_SIMPLE_TABLE_REFERENCE_HPP_
-#define QUICKSTEP_PARSER_PARSE_SIMPLE_TABLE_REFERENCE_HPP_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "parser/ParseSample.hpp"
-#include "parser/ParseString.hpp"
-#include "parser/ParseTableReference.hpp"
-#include "utility/Macros.hpp"
-
-namespace quickstep {
-
-class ParseTreeNode;
-
-/** \addtogroup Parser
- *  @{
- */
-
-/**
- * @brief A FROM-list table reference by relation name.
- */
-class ParseSimpleTableReference : public ParseTableReference {
- public:
-  /**
-   * @brief Constructor.
-   * @note Takes ownership of \p table_name and \p sample.
-   *
-   * @param line_number The line number of the first token of the table reference.
-   * @param column_number The column number of the first token of the table reference.
-   * @param table_name The table name.
-   * @param sample The sampling type and percentage associated with the table reference.
-   */
-  ParseSimpleTableReference(const int line_number,
-                            const int column_number,
-                            ParseString *table_name,
-                            ParseSample *sample)
-      : ParseTableReference(line_number, column_number),
-        table_name_(table_name),
-        sample_(sample) {}
-
-  /**
-   * @brief Destructor.
-   */
-  ~ParseSimpleTableReference() override {}
-
-  TableReferenceType getTableReferenceType() const override {
-    return kSimpleTableReference;
-  }
-
-  std::string getName() const override { return "TableReference"; }
-
-  /**
-   * @return The table name.
-   */
-  const ParseString* table_name() const { return table_name_.get(); }
-
-  /**
-   * @return The sample type and percentage.
-   */
-  const ParseSample* sample() const { return sample_.get(); }
-
- protected:
-  void getFieldStringItems(
-      std::vector<std::string> *inline_field_names,
-      std::vector<std::string> *inline_field_values,
-      std::vector<std::string> *non_container_child_field_names,
-      std::vector<const ParseTreeNode*> *non_container_child_fields,
-      std::vector<std::string> *container_child_field_names,
-      std::vector<std::vector<const ParseTreeNode*>> *container_child_fields) const override;
-
- private:
-  std::unique_ptr<ParseString> table_name_;
-  std::unique_ptr<ParseSample> sample_;
-  DISALLOW_COPY_AND_ASSIGN(ParseSimpleTableReference);
-};
-
-/** @} */
-
-}  // namespace quickstep
-
-#endif  // QUICKSTEP_PARSER_PARSE_SIMPLE_TABLE_REFERENCE_HPP_