This release added support for arm64.
The primary supported architectures are 64-bit architectures. Due to heavy use of C++ template and based on compiler, 32-bit architectures may run out of memory while compiling libraries and/or binaries based on compile options.
Tested on:
The source code is available for
download.
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 run out of memory while compiling libraries and/or binaries based on compile options.
Tested on:
The source code is available for
download.
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.
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.
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.
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.
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.