HISQRY: Hisqry is a relational database program fully written in C++. How to Build: Please refer to QUICK-START.txt and BUILD.txt. Project Goals: 1. C++ only. It started to as an experiment writing SQL database including parser in C++ only. Given STL and rich enhancements made to C++, C++ containers and algorithm looked appealing for implementing relational database. 2. Quality. Product quality as correctness of behavior has been another major interest. Test driven development with many test cases protects from unintended behavior changes. 3. Modularized program. Each piece of the program is split into multiple libraries and each does to simplify test cases. There are some limitations to this, though. 4. Simple to build. A single compiler invocation creates an database binary. This makes an easy start. 5. Lot of test cases. Each SQL test case is easy to re-run by copy&paste from command line. Similar group of test suites maintain same test cases. There are many duplicates but helps to cover more cases. Extra test cases help to prevent behavior changes. There are few corner and interesting use / test cases created by this policy. Implementation and Project Status: Please refer to syntax.html for the SQL syntax. Syntax diagram has broken down SQL statements with diagrams. In short, most of SELECT statement including LEFT and RIGHT JOINs are implemented. GROUP BY's HAVING closure is not yet implemented although aggregations such as sum(), max(), min(), etc work with GROUP BY. Many of INSERT INTO operations work but insert from SELECT statement is not yet implemented. Most of operations have been tested primary with integers. String type works okay in general but haven't had lots of test cases, yet. Floating point type works okay in most cases but may have issues with some of equalities and its string representations; these will be nailed down in the future release. Implementation and Project Status Background: I used SQLite as the primary reference for source of SQL syntax and behavior. Most of hisqry commands follow SQLite syntax. Later years, I started PostgreSQL as secondary preference for its syntax and behavior. C++ containers and algorithms are used for maintaining data. Boost Spirit is used for parsing SQL commands. Persistent storage is not yet implemented; however, hisqry can write update operations to a log file and uses it as a next startup command. Brief History: I started the project in 2011. I implemented some basic operations such as CREATE TABLE, INSERT, and few SELECT statements. Due to personal reasons, development had stopped for a while. I resumed the project in 2018 and revisited various code. After few iterations, I realized necessity of having good testing infrastructure with test cases and shifted to Test Driven Development. I developed many of database operations in 2018 and early 2019. I focused on testing in early 2019 into late 2019. This built foundations to implement complicated operations. With rich set of test cases, TRANSACTIONS and JOIN commands were implemented in 2020.