- 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.
-
- 30 Jan, 2019 2 commits
-
-
Donald H. (Donnie) Pinkston, III authored
A number of bugfixes caused by some of the changes in the arithmetic type-coercion rules, and the parser-framework changes. COUNT(DISTINCT a) wasn't being handled correctly due to an issue in the NanoSQLTranslator flow-control. The SumAvg/StdDevVar aggregate implementations are now updated to produce double-precision results when calculating their values. The type-converter had been changed to do integer division when the LHS and RHS are both integers, and this was breaking tests of these aggregate functions.
-
Donald H. (Donnie) Pinkston, III authored
The existing SQL tests are now all assigned to the "sql" group, and a subset are also now assigned to the "hw2" group if they should be supported by the SimplePlanner. The Maven pom.xml is also updated to include the "hw2" tests.
-
- 29 Jan, 2019 1 commit
-
-
Donald H. (Donnie) Pinkston, III authored
This commit includes the HW2 design document and logistics document. It also includes the InvalidSQLException to throw when a SQL query has a semantic error.
-
- 24 Jan, 2019 1 commit
-
-
Donald H. (Donnie) Pinkston, III authored
NanoDB client now supports shell commands of the form \cmd, which are handled within the InteractiveClient, not by the server. There are two commands: \help prints out useful help information \source filename.sql will run all commands contained in the file filename.sql There are surely interesting wrinkles to iron out. For example, if the sourced file contains an "EXIT" command then it will exit the client. Also, an error should probably terminate the evaluation of a sourced file, but currently it does not.
-
- 22 Jan, 2019 1 commit
-
-
Donald H. (Donnie) Pinkston, III authored
A number of correctness tests are contained in the TestHeapTableFormat class. The tests are activated in the Maven test configuration.
-
- 18 Jan, 2019 1 commit
-
-
Donald H. (Donnie) Pinkston, III authored
The Buffer Manager concurrency test wasn't closing the data files it created, so they couldn't be deleted during the cleanup phase on Windows. This caused test failures on Windows but not on *nix.
-
- 17 Jan, 2019 1 commit
-
-
Donald H. (Donnie) Pinkston, III authored
Somehow when upgrading the NanoDB parser to ANTLR4, I forgot to include the SHOW STATS command. This is essential for the storage lab, so of course I added it back in as quickly as possible.
-
- 16 Jan, 2019 1 commit
-
-
Michael A. Goulet authored
Some tests were failing on my box because I've got my locale set to Portuguese; this shouldn't be an issue, since the NanoDB tests are explicitly written in English. In order to fix Date parsing language- agnostically, I just explicitly set the locale to `Locale.ENGLISH`.
-
- 15 Jan, 2019 2 commits
-
-
Donald H. (Donnie) Pinkston, III authored
The Buffer Manager wasn't tied into the property-registry mechanism, so it wouldn't notice when the page-cache size was changed. This is now hooked together with a property-observer interface.
-
Donald H. (Donnie) Pinkston, III authored
-