Copyright © 1998-2001, 2005-2014 Kevin Atkinson (original author), MySQL AB, Educational Technology Resources
May 26, 2014
Table of Contents
Libtabula is a powerful C++ wrapper for multiple C database access libraries. The initial version supports MySQL, MariaDB, and SQLite. Its purpose is to make working with SQL queries as easy as working with STL containers.
The latest version of libtabula can be found at libtabula.org.
Support for libtabula can be had on the mailing list. That page hosts the mailing list archives and tells you how you can subscribe.
libtabula is a fork of MySQL++ 3.2.1. (More on this at the end of this section.)
MySQL++ was created in 1998 by Kevin Atkinson. It started out
MySQL-specific, but there were early efforts to try and make it
database-independent. You can see echoes of this in the old library
libsqlplus.* and in the naming of many of
the classes. All of Kevin’s releases had pre-1.0 version
Then in 1999, MySQL AB took over development of the library. In the beginning, Monty Widenius himself did some of the work, but later gave it over to another MySQL employee, Sinisa Milivojevic. MySQL released versions 1.0 and 1.1, and then Kevin gave over maintenance to Sinisa officially with 1.2 and ceased to have any involvement with the library’s maintenance. Sinisa went on to maintain the library through 1.7.9, released in mid-2001. During this time, the library’s database-independent parts were left undeveloped, for obvious reasons.
With version 1.7.9, MySQL++ went into a period of stasis, lasting over three years. During this time, Sinisa ran the MySQL++ mailing list and supported its users, but made no new releases. Contributed patches were either ignored or put up on the MySQL++ web site for users to try, without any official blessing.
In early August of 2004, Warren Young of Educational Technology Resources got fed up with this lack of movement and took over maintenance of MySQL++. He released 1.7.10 later that month, which did little more than make the code build with GCC 3.3 without warnings. MySQL++ grew and improved greatly via prototypical spurts-and-lulls open source development, culminating in MySQL++ 3.2.1 in December 2013.
In May 2014, Warren forked libtabula from MySQL++ in order to reignite the old dream of DBMS independence, reasoning that it would be awkward and confusing to continue calling it “MySQL++” when it works with more than just MySQL and its compatible forks. The initial version of libtabula adds support for SQLite, with the only barrier to additional DBMSes being the desire of people to write the code to add that support.
This is a benign fork, not an angry fork. In a very real sense, libtabula is “MySQL++ 4.0.” It is a fork rather than just a new name since it moved to a new code repository and web site, and there is a chance that MySQL++ will continue to get some bug fixes and enhancements as libtabula stabilizes. At some point, however, libtabula should entirely replace MySQL++.
If you want to email someone to ask questions about this library, we greatly prefer that you send mail to the mailing list. The mailing list is archived, so if you have questions, do a search to see if the question has been asked before.
You may find people’s individual email addresses in various files within the libtabula distribution. Please do not send mail to them unless you are sending something that is inherently personal. Not all of the principal developers of libtabula are still active in its development; those who have dropped out have no wish to be bugged about libtabula. Those of us still active in libtabula development monitor the mailing list, so you aren’t getting any extra “coverage” by sending messages to additional email addresses.