- 11 Feb, 2019 1 commit
-
-
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.)
-
- 04 Feb, 2019 1 commit
-
-
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.
-
- 31 Jan, 2019 1 commit
-
-
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.
-
- 15 Jan, 2019 1 commit
-
-
Donald H. (Donnie) Pinkston, III authored
-