mysqlcppapi is a C++ wrapper for the MySQL C API library.
It is a branch of the MySql++ project, but it has diverged significantly for the following reasons:
MySQL++ is aggressively optimised for speed, but optimisation should happen after the design is mature, and that optimisation should be targeted. Premature optimisation obscures the design and prevents it from improving.
MySQL++ provides too many ways to do things instead of deciding on an interface. Again, this obscures the design.
MySQL++ uses preprocessor macros to an extent that is unacceptable in a C++ library.
These considerations mean that the interface has changed significantly and some areas of functionality have been removed completely because they are not maintainable.
Some of this functionality may be added in future versions if it can be implemented in a sensible way. New types of interfaces should be added by subclassing or aggregating the existing simple classes rather than complicating the existing interfaces.
As of mid-2005 the MySQL++ library is in new hands and is much improved. It is worth noting that MySQL++ is more actively maintained than mysqlcppapi and it might be a better choice to use.
· MySQL client library
What's New in This Release:
· All objects are classes with constructors and destructors, so all data is initialized.
· Reference-counting is used to allow sharing of the various object instances and underlying connections, avoiding segfaults or complicated memory management.
· All classes are in the mysqlcppapi namespace
· There is now no public member data.
· Many methods have been un-inlined, allowing a much clearer file structure.
· The 'custom' and stored query interfaces have been removed because they made excessive use of preprocessor macros and perl-generated code.
· Exceptions are no longer optional - they are part of the design.
· The fields classes have been completely replaced.