UnQLite Online Support.
UnQLite Public Discussions: Quick, general and technical discussions on using
and troubleshooting UnQLite. There is no need to register in the UnQLite Forum, simply enter a name and post your questions.
Companies and/or individuals desiring to sponsor the ongoing development of the UnQLite database engine with all its benefits including full access to the UnQLite source tree, professional support, etc. can request the sponsorship program. Visit the sponsorship page for additional information.
Professional support and custom modification performed by the principal architect and original author of UnQLite are paid services available at request. For additional information, contact:
Chems Eddine Mrad
Phone: (+216)55634257 (GMT Business hours, French or English only).
Proprietary, licensed UnQLite extensions are available for a fixed one time fee, the available extensions are:
Compressed Databases: Write and Read from a compressed UnQLite database using the LZ family of algorithms.
Encrypted Databases: Write and Read from an 128-bit or 256-bit AES encrypted database.
Commercial license for the Jx9 scripting engine (Standalone library without the UnQLite core).
Contact email@example.com for pricing information.
You may find useful, the following production quality software release by the same team here at symisc!
Contribute to the UnQLite development
UnQLite have grown substantially since the beginning. At the time of writing, there are about 60000 lines of source code and by the time you read this it has probably grown even more.
UnQLite is a fairly stable and extensively tested product, but minor bugs may still occurs. Please, read the section below on how to submit bug reports.
1.0 Where to report
Try to report an as detailed report using the online bug tracking system over at:
(but please read the sections below first before doing that).
1.1 What to report
reporting a bug, you should include all information that will help us
understand what's wrong, what you expected to happen and how to
repeat the bad behavior. You therefore need to tell us:
- your operating system's name and version number
- what version of UnQLite you're using
- UnQLite compile-time options such as if threading support is enabled and so on.
and anything and everything else you think matters. Tell us what you expected to happen, tell use what did happen, tell us how you could make it work another way. Dig around, try out, test. Then include all the tiny bits and pieces in your report. You will benefit from this yourself, as it will enable us to help you quicker and more accurately.
1.2 UnQLite problems
post all UnQlite problems on the public
forum or the unqlite-users
Tell us the UnQLite version and your operating system. Tell us the name and version of all relevant sub-components.
Showing us a real source code example repeating your problem is the best way to get our attention and it will greatly increase our chances to understand your problem and to work on a fix (if we agree it truly is a problem).
Lots of problems that appear to be UnQLite problems are actually just abuses of the unqlite API or other malfunctions in your applications. It is advised that you run your problematic program using a memory debug tool like valgrind or similar before you post memory-related or "crashing" problems to us.
1.3 Who will fix the problems
the problems or bugs you describe are considered to be bugs, we want
to have the problems fixed.
But please do not assume that you can just lump over something to us and it will then magically be fixed after some given time. Most often we need feedback and help to understand what you've experienced and how to repeat a problem. Then we may only be able to assist YOU to debug the problem and to track down the proper fix.
1.4 How to get a stack trace
you must make sure that you compile all sources with -g and that you
don't 'strip' the final executable. Try to avoid optimizing the code
as well, remove -O, -O2 etc from the compiler options.
Run the program until it cores.
Run your debugger on the core file, like '<debugger> unqlite_app core'. <debugger> should be replaced with the name of your debugger, in most cases that will be 'gdb', but 'dbx' and others also occur.
When the debugger has finished loading the core file and presents you a prompt, enter 'where' (without the quotes) and press return.
The list that is presented is the stack trace. If everything worked, it is supposed to contain the chain of functions that were called when curl crashed. Include the stack trace with your detailed bug report. It'll help a lot.
1.5 Bugs in UnQLite bindingsYou should primarily approach the team that works on that particular binding and see what you can do to help them fix the problem.