Yada is a c library that abstracts SQL databases aiming at allowing transparent use of multiple databases. The goal in mind is to make a common interface to multiple databases, thus stopping the need for application developers to write different modules for each SQL backend they want to support. It's also useful for caching data in different database types, for example, accessing a remote Oracle database and caching results in a local MySQL one (the original proof of concept did so).
To accomplish this, it uses a compatability layer of functions to bind input and output variables, prepare statements, and retreive data. Functionality and concept are somewhat like perl's DBI, and somewhat improved (I hope). In fact, I use it on projects where I have no need for multiple database support because I like the API.
This API seems to work well, but I want to wait a bit longer before going to version 1.0 and locking it in to make sure there aren't any last minute changes or oversights. I know the documentation is sparse right now, I'm working on it... please don't hesitate to email with questions and I'll be happy to help. That will also help me to know which parts need better documentation.
The MySQL module is tested and should be stable, SQLite3 is tested but not heavily used, Oracle and PostgreSQL are both tested and used a bit however binary types do not currently work in them. Next in the pipeline is probably going to be freeTDS, etc, etc (volunteers are welcome). See README.modules in the tarball for more information.
What's New in This Release:
· This version of yada adds va_list functions and more functionality for yadac structure binding.
· A lot of the build system was cleaned up and/or fixed