GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SQLEngine::Docs::Comparison(3) User Contributed Perl Documentation SQLEngine::Docs::Comparison(3)

DBIx::SQLEngine::Docs::Comparison - Entry for poop-comparison

Numerous modules on CPAN provide some type of system to map objects to and from SQL databases, including Class::DBI, Alzabo, and Tangram.

Dave Rolsky and the Poop-Group discussion list have assembled a very useful comparison of several such CPAN modules at http://poop.sourceforge.net/.

For comparison purposes, this document reviews some of the points of comparison used by the Poop-Group summary and their answers for this module.

DBIx::SQLEngine

 Author:         M. Simon Cavalletto <simonm@cavalletto.org>
 Homepage:       http://www.evoscript.org/DBIx-SQLEngine/
 Latest Version: 0.022 - April 10th, 2004
 First Release:  22nd January 2002
    

Any database supported by one of the following: DBD::AnyData, DBD::CSV, DBD::Informix, DBD::MySQL, DBD::Oracle, DBD::Pg, DBD::SQLite, DBD::Sybase, or DBD::XBase.

Providing support for other drivers involves creating a DBD-specific subclass of DBIx::SQLEngine::Driver (which will be loaded via DBIx::AnyDBD when appropriate), and should only require a limited amount of coding.

This module supports moderately complex selects, inserts, updates, and deletes. It is possible to apply order by and group by clauses to operations, as well as limits.

Inserts with sequences are supported, with the driver classes providing a workaround with sequence table logic for DBDs which don't have native sequence/auto_increment equivalents.

The base Record class does not support joins, although the underlying DBIx::SQLEngine does, and it is possible to provide your own query logic in a subclass.

The automated SQL generation should produce valid SQL, but if you pass in incorrect information, such as explicitly requesting a column name which does not exist in the database, or if you pass in a SQL snippet as part of a query, it is not validated prior to actually executing the query and receiving an error from the DBMS.

There is not yet any way to defer the loading of given columns for a select. However, it always possible to easily specify only those columns which are needed at a given point in your code. (Deferred loading of additional columns is expected in an upcoming release.)

DBIx::SQLEngine does not yet provide any automatic support for relationships.

DBIx::SQLEngine can return all matching records at once, or accept a code ref which will be called on each one in turn, or return a code ref that will incrementally return available rows.

A RecordSet object similar to a cursor is also used but it does not yet handle incremental retrieval. (Support for richer cursors is expected in an upcoming release.)

Basic caching support has recently been added and may be enabled on a class-by-class basis. (Support for LRU caching and ensuring that there is only a single instance of a given object in memory at any time are both expected in an upcoming release.)

DBIx::SQLEngine provides basic support for transactions.

Auto-generation of basic accessor methods is available and may be enabled on a class-by-class basis.

The documentation for the object-mapping portions of this framework is still fairly rough, although efforts are continuing to improve this.

GPL/Artistic disjunction. The same as Perl itself.

Support for this module is available from the author (evo@cpan.org). (The author is also available for support contracts or consulting engagements.)

Actively developed and supported by the author. Underlying features being used by other CPAN modules, but not the recently-released object-mapping capability.

A callback mechanism allows you to specify method names or arbitrary subroutines to be called immediately before or after each record is retrieved, inserted, updated, or deleted. You can add these callbacks to all record classes, to a particular class, or even to a particular object instance.

See DBIx::SQLEngine for an overview of this framework.
2004-11-13 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.