JacQL
What is it?
JacQL is a database framework for C++. The advantage over a traditional
database is that JacQL\'s source code is incooperated into a project and is
therefore directly compiled into the final executable. This means that the
database framework is customisable as needed and no database server is
required to handle requests from the program. JacQL is very useful in
smaller, single-user applications which process big amount of data and need
to store and handle this data in a convenient and efficient manner. JacQL
is completely based on AVL-Trees and can therefore handle any identifier
query in logarithmic time.
A further particularly useful feature of JacQL is the so-called first and
second tier relation. These are many-to-many associations for direct and
second-grade neighbour tables respectively which are kept up to date
automatically. These associations therefore allow lookups of first and
second tier relations in O(log n) time, rather than O(n2) time
as it is the case in an ordinary database. Furthermore, JacQL allows to
define automatic dependencies between tables and takes care of efficient
file handling.
Documentation
Unfortunately, I have not written an extensive manual yet. For the time
being please use VocabPusher as an example
of how to use JacQL.
In a nutshell you will only #include the JacQL_Header.h file into
each table that you wish to define. Whenever you need access to a table in
the source code, you will directly #include the corresponding header of
this table. Moreover, you will need to amend JacQL_Custom.h and
JacQL_Custom.cpp to fit your project.
Known Issues
None, however there is currently no native support for OR queries.
Source Code
Please download the zip archive below and place all source and header files directly into your project. Do not forget to include them into the dependencies.
Source Code - JacQL (ZIP-Archive)