2009-09-14: Fixed build problem. 2009-09-13: Removed deprecated functions and improved build process. 2009-09-08: Added "changes" function. Thanks to <ygrek@autistici.org> for this patch! 2009-08-22: enable_load_extension now raises an exception if unsupported. 2009-07-28: Added better support for compiling with MSVC and ocamlbuild. Thanks to <ygrek@autistici.org> for this patch! 2009-05-23: Fixed example to be consistent with new API. 2009-05-16: Fixed mishandling of OCaml-runtime lock when callbacks raise exceptions, and correctly handle NULL-pointer results when getting column type declarations. Thanks to Bruno Daniel <bruno.daniel@gmx.net> for this patch! Changed API to expose optional results. 2009-03-09: Fixed potential build problem. 2009-03-01: Added support for user-defined aggregate functions. Thanks to Anil Madhavapeddy <anil@recoil.org> for the initial version of the patch! 2009-02-21: Added new function: * busy_timeout Thanks to Paolo Donadeo <p.donadeo@gmail.com> for the patch! 2009-01-05: Switched to generational global root registration of callbacks for better performance. Requires OCaml 3.11 or higher!!! 2008-12-02: Added function enable_load_extension if it is available. Thanks to Pietro Abate <Pietro.Abate@pps.jussieu.fr> for the patch! 2008-05-11: Added function column_count, used it internally in place of data_count, and improved documentation of associated functions. Thanks to James Cheney <james.cheney@gmail.com> for the patch! 2008-05-07: Renamed Data.to_string to Data.to_string_debug for converting fields to strings with their data constructor. Replaced the previous function with one that behaves more like users would expect. Thanks to Stefano Zacchiroli <zack@debian.org> for the suggestion. 2008-04-18: Improved backwards compatibility to older versions of SQLite. 2008-04-04: Fixed a build problem on Mac OS X. 2008-03-27: Fixed a build problem on FreeBSD. Thanks to Jaap Boender <Jaap.Boender@pps.jussieu.fr> for the patch! 2008-03-14: Synced with Jane Street tree. 2008-03-05: Added a patch to improve Windows support. Thanks to Alain Frisch <alain@frisch.fr> for the patch! 2007-09-04: Fixed a minor bug converting status codes. 2007-08-20: Fixed a GC-bug related to user-defined SQL-functions. Thanks to Enrico Tassi <gareuselesinge@virgilio.it> for the test case to replicate this problem! 2007-06-17: Added support for user-defined scalar functions. Thanks to Enrico Tassi <gareuselesinge@virgilio.it> for the patch! Switched to sqlite3_prepare_v2 internally to avoid the older, deprecated sqlite3_prepare-function. Thanks to Gabriel Kerneis <gabriel@kerneis.info> for the hint! Removed exec_sql-function, which was buggy in the last release anyway (thanks to Paul Stodghill <ps27@cornell.edu> for pointing this out!). Its interface hides too much important information from the user (e.g. BUSY-steps, etc.). It did not seem possible to design a function that made it as simple as exec_sql to run an SQL-statement without inviting the user to write buggy/incomplete code, or that wouldn't make the interface almost as complicated as just writing the correct code that handles all cases by oneself. 2007-05-07: Further GC-bug fixes. There was a design bug in the library that was causing all these GC issues (C-structs allocated in the OCaml-heap). This obviously seemed safe (and more efficient) to the initial author, but after extensive checking it became apparent that this just does not work if C-structs reference each other, because the GC might move these memory regions. It seems safer to allocate C-structs with "malloc", and use an indirection to access them. 2007-05-04: Fixed several GC-bugs, and improved thread interaction. 2007-04-23: callback_exn -> caml_callback_exn. 2007-03-30: Fixed a GC-bug. 2007-03-19: Fixed an installation problem on Cygwin. Thanks to James Cheney <james.cheney@gmail.com> for the hint! 2007-02-27: Small API-change: the callback for exec is now an optional argument. Added three more "exec"-functions, which do or do not take headers or handle NULL-values. Improved quality of C-code (removed warnings). 2007-02-23: Fixed a bug in the "db_close"-function. Improved documentation. 2007-02-19: Added check for out of memory after malloc. 2007-01-31: Fixed build problem on x86_64: added -fPIC flag to compilation of C-stubs. 2007-01-17: Complete rewrite by Markus Mottl <markus.mottl@gmail.com>. 2005-04-??: Initial coding (0.1) by Christian Szegedy <csdontspam871@metamatix.org>.