|o||<B>Full DBI Access:B> Accepts arbitrary SQL queries with placeholder parameters to be passed through, and delegates any unknown method calls to the wrapped database handle, allowing access to the entire DBI API for cases when high-level interfaces are insufficient|
|o||<B>High-Level Interface:B> Standard query operations are handled by a single method call each. Error handling is standardized, and routine annoyances like timed-out connections are retried automatically.|
|o||<B>Data-Driven SQL:B> Ad-hoc generation of SQL statements from Perl data structures in a variety of formats; simple hash and array references are flexibly converted to form clauses in standard SQL query syntax.|
|o||<B>Named Definitions:B> Enables pre-registration of a collection of names for sets of connection parameters, and a collection of of names for queries in either data-driven or plain-SQL formats. The definitions may include placeholders to be replaced by additional values at run-time.|
|o||<B>Portability Subclasses:B> Uses dynamic subclassing to allow platform-specific support for driver idiosyncrasies and DBMS workarounds. This release includes subclasses for connections to MySQL, PostgreSQL, Oracle, and Microsoft SQL servers, as well as for the standalone SQLite, AnyData, and CSV packages.|
|o||<B>Object Mapping:B> An optional layer provides classes for Record, Table and Column objects which fetch and store information from a SQLEngine. The Schema objects call methods on a SQLEngine to fetch and store data, while the Record classes create new subclasses to correspond to rows in a particular table.|
See DBIx::SQLEngine for interface documentation.
See DBIx::SQLEngine::Docs::Changes for revision history.
See DBIx::SQLEngine::Docs::Related for notes on related modules.
This version is a routine release of DBIx::SQLEngine intended for public use.
This module has been used in a variety of production systems and has been available on CPAN for over a year, with several other distributions dependant on it, so it would be fair to say that it is fully released.
However, while the commonly-used portions are well tested, some of the more obscure combinations of options are less so, and new bug reports do trickle in occasionally. If you do encounter any problems, please inform the author and Ill endeavor to patch them promptly.
Additional features have been outlined for future development, but the intent is support these by adding more options to the declaration interface, while maintaining backward compatibility.
This modules CPAN registration should read:
Name DSLIP Description -------------- ----- --------------------------------------------- DBIx:: Grp 7 Database Interfaces ::SQLEngine Rdpop Extends DBI with high-level operations
This package requires these other modules and libraries:
You must also have at least one working DBD module installed.
You should be able to install this module using the CPAN shell interface:
perl -MCPAN -e install DBIx::SQLEngine
Alternately, you may retrieve this package from CPAN or from the authors site.
After downloading the distribution, follow the normal procedure to unpack and install it, using the commands shown below or their local equivalents on your system:
tar xzf DBIx-SQLEngine-*.tar.gz cd DBIx-SQLEngine-* perl Makefile.PL make test && sudo make install
Furthermore, thanks to the kind generosity of other members of the Perl community, this distribution is also available repackaged in the FreeBSD ports and Linux RPM formats. This may simplify installation for some users, but be aware that these alternate distributions may lag a few versions behind the latest release on CPAN.
In order to test against locally available database drivers, the test script will prompt you to optionally select one or more sets of connection parameters. If you leave this blank, only a driver-independent subset of the tests will be run.
Prior to release, this package has been tested succesfully on the following platforms and databases:
Earlier releases have also tested OK on a wide variety of platforms.
You may review the current test results from CPAN-Testers:
Some of the more advanced capabililities have only been added recently, and have not yet been tested in real-world conditions.
Some types of databases are not yet directly supported. While most of the default functionality should work with any DBI-accessible data source, support for complex queries and advanced features will typically require the addition of a Driver subclass which compensates for local idiom.
See DBIx::SQLEngine::ToDo for a list of bugs and missing features.
If you have questions or feedback about this module, please feel free to contact the author at the below address. Although there is no formal support program, I do attempt to answer email promptly.
I would be particularly interested in any suggestions towards improving the documentation, correcting any Perl-version or platform dependencies, as well as general feedback and suggested additions.
Bug reports that contain a failing test case are greatly appreciated, and suggested patches will be promptly considered for inclusion in future releases.
If youve found this module useful or have feedback about your experience with it, consider sharing your opinion with other Perl users by posting your comment to CPANs ratings system.
For more general discussion, you may wish to post a message on PerlMonks or on the comp.lang.perl.misc newsgroup.
Some previous discussions of this distribution are archived online.
Developed by Matthew Simon Cavalletto at Evolution Softworks. You may contact the author directly at evo#cpan.org or simonm#cavalletto.org, replacing # with @.
Custom development and technical consulting are available at www.evolutionsoftworks.com. More free Perl software is available at www.evoscript.org.
Many thanks to the kind people who have contributed code and other feedback:
Eric Schneider, Evolution Online Systems E. J. Evans, Evolution Online Systems Matthew Sheahan, Evolution Online Systems Eduardo Iturrate, Evolution Online Systems Ron Savage Christian Glahn, Innsbruck University Michael Kroll, Innsbruck University Peter (Stig) Edwards
Inspiration, tricks, and bits of useful code were mined from these CPAN modules:
Copyright 2001, 2002, 2003, 2004 Matthew Cavalletto.
Portions copyright 1998, 1999, 2000, 2001 Evolution Online Systems, Inc.
Portions copyright 2002 ZID, Innsbruck University (Austria).
Portions of the documentation are copyright 2003 Ron Savage.
You may use, modify, and distribute this software under the same terms as Perl.
|perl v5.20.3||SQLENGINE::DOCS::README (3)||2004-11-29|