HISQRY hisqry


Releases

hisqry-1.20230604

I'm very pleased to announce the forth version of hisqry , a relational database program fully written in C++. This version added support for C APIs and improved installation steps.

This release added support for C APIs. The C APIs are designed to be similar to that of SQLite but kept minimum.

The primary supported architectures are 64-bit architectures. Due to heavy use of C++ template and based on compiler, 32-bit architectures may unable to compile libraries and/or binaries and also based on compile options.

Tested on:

  • FreeBSD amd64 12.4/13.2
  • FreeBSD i386(PAE/non-PAE) 12.4/13.2
  • Ubuntu x86_64 19.x
  • NetBSD amd64 9.1
  • The source code is available for download.

    hisqry-1.20211219

    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.