HISQRY hisqry


Releases

hisqry-1.2021119

I'm very pleased to announce the third version of hisqry , a relational database program fully written in C++. This version added support for INSERT from SELECT statement.

Pre-release build and test steps are improved and thus tables of hisqry program and unit test program for each architecture are prepared as below.

The source code is available for download.

Each architecture status, hisqry.pm - the database program, and test.pm - unit-test program.
hisqry.pm Single Build(Optimized) BSD Make CMake
FreeBSD 12.2/13.0 Passed on i386 and amd64 Passed on i386 and amd64 Passed on i386 and amd64
NetBSD 9.1 Passed on i386 Gcc runs out of memory on i386 Gcc runs out of memory on i386
Ubuntu 21.04 Passed on amd64 Not supported Passed on amd64
test.pm Single Build BSD Make CMake
FreeBSD 12.2/13.0 Passed on i386 and amd64 Passed on i386 and amd64 Passed on i386 and amd64
NetBSD 9.1 GCC compiler fails due to missing filesystem header file since C++17 GCC compiler fails due to missing filesystem header file since C++17 GCC compiler fails due to missing filesystem header file since C++17
Ubuntu 21.04 Passed on amd64 Not supported GNU linker fails to link library of test cases.

hisqry-1.20211003

I'm very pleased to announce the second version of hisqry , a relational database program fully written in C++. This version added support for TCP connections and multiple sessions. hisqry now takes -p <port> option to listen to incoming connection and can serve as a server program. This allows multiple sessions to update and query a database simultaneously. The source code is available for download.

hisqry-1.20210604

I'm very pleased to announce the first version of hisqry , a relational database program fully written in C++. The source code is available for download.

I started the project to experiment and learn both C++ and relational database. STL and containers came to C++98 and C++03, looked appealing such that many SQL operations could be well implemented and reused. Boost Spirit allowed writing a parser in C++.

The project had a long hibernation period.

After woken up, many things were forgotten. It was a good opportunity to introduce easy to test program and Test Driven Development. Meanwhile, C++14 and C++17 introduced further more powerful features, such as variant, visiter, and others.

Basic SQL operations such as simple CREATE TABLE and INSERT INTO operations have been implemented. Many of SELECT operations have been also implemented including LEFT and RIGHT JOINs. GROUP BY aggregation functions are implemented but HAVING closure is not implemented. TRANSACTION and SNAPSHOTs are implemented but will need more test cases. been implemented.

Please refer to the details for SQL syntax diagram, README.txt for instructions, QUICK-START.txt for quick start for a try, and BUILD.txt for more depth in code hierarchy and building.