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.
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.
None, however there is currently no native support for OR queries.
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)