Matthew Simon Cavalletto


DBIx::SQLEngine::Docs::RelatedModules - Survey of Class Builders



Several other CPAN modules provide a similar wrapper around DBI for purposes of simplification, abstraction, or portability.


I've commented on a few of these below, but please remember that these notes were written some time ago and may be somewhat out of date, and many modules have been omitted.


Most of these provide simple wrappers around DBI's connect, prepare, and fetch methods, but do not appear to support any kind of cross-DBMS portability mechanism. See DBIx::Abstract, DBIx::Broker, and DBIx::Simple for examples of this group. See also , DBIx::AbstractLite, DBIx::Wrap, DBIx::Wraper, and DBIx::YAWM. Single-platform solutions like MySQL::Easy are also available.

Some provide at least partial cross-DBMS support via specialized subclasses for the DBDs they support. See DBIx::SearchBuilder, DBIx::Easy, and DBIx::DWIW for examples of this group.

The DBIx::Recordset framework provides similar functionality, including a substantial library of cross-DBMS compatibilty information. It also includes a tied-hash interface that allows automatic updates on retrieved rows. See DBIx::RecordSet, DBIx::Database, and DBIx::Compat.

The Rosetta framework provides a higher-level interface with a great deal of portability, including supports non-DBI and non-SQL datasources; see Rosetta for details.

The Alzabo framework provides similar functionality, including DBMS-specific SQL generation, as part of an RDBMS-OO mapper; see Alzabo::Driver and Alzabo::SQLMaker.

There are signs of ongoing development in the Class::DBI framework to support cross-DBMS portability, so check CPAN for the latest in this area.

The SQL::AnyDBD is new addition which uses DBIx::AnyDBD.

Some packages focus on storing libraries of pre-defined named queries. See SQL::Catalog, SQL::Library, DBIx::PhraseBook, Class::Phrasebook::SQL, and DBIx::Librarian.

Some packages focus on managing database schema information. See DBIx::DataSource, DBIx::Schema, DBIx::Admin::TableInfo, DBIx::SystemCatalog.


See DBIx::SQLEngine for module interface and developer documentation.

See DBIx::SQLEngine::Docs::ReadMe for general information about this distribution, including installation and license information.