1. 11 Feb, 2019 1 commit
    • Donald H. (Donnie) Pinkston, III's avatar
      Simplify/flatten composite Boolean expressions · f3d2f477
      Donald H. (Donnie) Pinkston, III authored
      The new ANTLRv4 parser generates left-deep nested Boolean AND/OR
      expressions, which need to be flattened where appropriate.  The
      BooleanOperator.simplify() method takes care of this operation.
      
      Introducing this flattening/simplification everywhere all at once seemed
      to be inadvisable, so currently it is only applied in the query AST when
      schemas are computed.  Additionally, only WHERE predicates, HAVING
      predicates, and ON clauses are simplified/flattened.  (NATURAL JOIN and
      USING join predicates are generated programmatically, not by the parser,
      and are already flattened.)
      f3d2f477
  2. 04 Feb, 2019 1 commit
    • Donald H. (Donnie) Pinkston, III's avatar
      Documents and code changes for Assignment 3 · c7b4e8f9
      Donald H. (Donnie) Pinkston, III authored
      The design document and information document are included under the doc
      directory now.
      
      Added a lot of documentation, particularly to the Schema class.
      
      Made a few changes to the ArithmeticOperator and BooleanOperator
      classes' simplify() methods so that we can do some basic
      simplifications.
      
      Added the StatisticsUpdater so that it's easier for students to modify
      statistics based on selection predicates.
      
      Fixed a bug in SelectClause where ORDER BY clauses were using the
      FROM-clause schema rather than the SELECT-clause schema.
      c7b4e8f9
  3. 31 Jan, 2019 1 commit
    • Michael A. Goulet's avatar
      Fix overwritten columns in selclause resultSchema · 4c8b4486
      Michael A. Goulet authored
      the `SelectClause.computeSchema` method aggregates a `resultSchema`
      member by appending all of the ColumnInfos for each of the selectValues
      in the statement.
      
      However, when efforts were made to make Schema less "mutable", I think
      a change was overlooked that causes all but the last selectValue's
      ColumnInfos to remain in the resultSchema.
      
      I believe this was left undetected because the resultSchema of the
      SelectClause isn't really used in many places, except for nested
      subqueries. This problem was found by a student, that the first out of
      two columns in a nested subquery would "disappear" from the schema.
      4c8b4486
  4. 15 Jan, 2019 1 commit