NAME

DBIx::SQLEngine::Docs::ReadMe - About the DBIx::SQLEngine distribution

ABSTRACT

The DBIx::SQLEngine class provides an extended interface for the DBI database framework. Each SQLEngine object is a wrapper around a DBI database handle, adding methods that support ad-hoc SQL generation and query execution in a single call. Dynamic subclassing based on database server type enables cross-platform portability. An object mapping layer provides classes for tables, columns, and records.

INTRODUCTION

DBIx::SQLEngine is the latest generation of a toolkit used by the authors for several years to develop business data applications and object-relational mapping toolkits. Its goal is to simplify dynamic query execution with the following capabilities:

SEE ALSO

See the DBIx::SQLEngine manpage for interface documentation.

See the DBIx::SQLEngine::Docs::Changes manpage for revision history.

See the DBIx::SQLEngine::Docs::Related manpage for notes on related modules.

STATUS
Version

This version is a routine release of DBIx::SQLEngine intended for public use.

Release Status

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 I'll 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.

Tested Platforms

This release has been tested succesfully on the following platforms:

5.6.1 on darwin

Earlier releases have also tested OK on a wide variety of platforms. You may review the current test results from CPAN-Testers:

BUGS

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 the DBIx::SQLEngine::ToDo manpage for a list of bugs and missing features.

DISTRIBUTION

If you encounter any problems, please inform the author and I'll endeavor to patch them promptly.

CPAN Registration

This module's CPAN registration should read:

      Name            DSLIP  Description
      --------------  -----  ---------------------------------------------
      DBIx::
      ::SQLEngine     Rdpop  Extends DBI with high-level operations

This module should be categorized under group 7, Database Interfaces.

REQUIREMENTS

This package requires these other modules and libraries:

      DBI                           1.0
      DBIx::AnyDBD                  2.0
      Class::MakeMethods            1.006
      Class::MixinFactory           0.9

You must also have at least one working DBD module installed.

If you run into trouble, check that your DBI and DBD modules are up-to-date; in particular, if you are using DBD::CSV or DBD::AnyData, make sure you have upgraded to SQL::Statement 1.0 or later.

INSTALLATION

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 ("http://search.cpan.org/~evo/") or from the author's site ("http://www.evoscript.org/DBIx-SQLEngine").

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.

SUPPORT

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.

To report bugs via the CPAN web tracking system, go to "http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBIx-SQLEngine" or send mail to "Dist=DBIx-SQLEnginert.cpan.org", replacing "" with "@".

If you've 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 CPAN's ratings system ("http://cpanratings.perl.org/rate/?distribution=DBIx-SQLEngine").

For more general discussion, you may wish to post a message on PerlMonks ("http://perlmonks.org/?node=Seekers%20of%20Perl%20Wisdom") or on the comp.lang.perl.misc newsgroup
("http://groups.google.com/groups?group=comp.lang.perl.misc").

Some previous discussions of this distribution are archived online on PerlMonks ("http://perlmonks.org/?node_id=3989&BIT=SQLEngine&go=1") and the comp.lang.perl.misc newsgroup
("http://groups.google.com/groups?q=dbix+sqlengine+-ports&scoring=d").

AUTHOR

Developed by Matthew Simon Cavalletto at Evolution Softworks. You may contact the author directly at "evocpan.org" or "simonmcavalletto.org", replacing "#" with "@".

Custom development and technical consulting are available at "www.evolutionsoftworks.com". More free Perl software is available at "www.evoscript.org".

THANKS

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

SOURCE MATERIAL

Inspiration, tricks, and bits of useful code were mined from these CPAN

modules

Alzabo by Dave Rolsky DBIx::AnyDBD by Matt Sergeant DBIx::Compat by G. Richter DBIx::Datasource by Ivan Kohler DBIx::Renderer by Marcel Grunauer

LICENSE

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.