yada - yet another database abstraction
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 compatibility layer of functions to bind input and output variables, prepare statements, and retrieve 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.New in 1.0.0
New in 0.10.1
- add va_list functions
- yadac allows binding to structure members like: a->b.c
New in 0.10.0
- float support in yadac
- Postgres native prepare and other enhancements (Stuart Walsh)
- spec file for RPM and MySQL enhancements (Mike Pomraning)
- Added float support to Oracle and Postgres
- Added support for Oracle instantclient
- Numerous bug fixes
Send any comments, bugs, or requests to email@example.com.
Current version is 1.0.0 released on 11/20/07 (signed by).
Changes since last release are outlined here. This version is binary compatible with 0.9.0.
md5sum file download 80fe86a7105afeacade8a6902abfef8c yada-1.0.0.tar.gz http ftp yada-1.0.0.tar.gz.asc http ftp 167f1839f8bd06f4fabf0d883569926b yada-1.0.0.tar.bz2 http ftp yada-1.0.0.tar.bz2.asc http ftp
Browsable source code coming soon!