Dave Rolsky <[EMAIL PROTECTED]> writes:

> On Mon, 11 Apr 2005, Rob Kinyon wrote:
>
>> C::DBI is too slow. (I had to search million++ row tables with
>> multiple joins and return back in under 2 seconds on a low-midsize
>> machine.)

yes, it is heavily and eagerly object-oriented. The thing I like about
DBIx::SQLEngine (http://search.cpan.org/~evo/DBIx-SQLEngine-0.93/) is
that it has a very direct convenience layer to DBI.

>> >>
>> SQL::Routine / Rosetta (they're linked) are just waaaay too
>> complicated. The learning curve is so steep that it was easier for me
>> to roll my own than to understand their stuff.

There is a new player in the game which looks rather nice: (Rose::DB)

      http://search.cpan.org/~jsiracusa/Rose-DB-0.0142/

>> I tried to get my code into C::DBI, to facilitate multi-table joins
>> (which it doesn't do very well right now), but was put off by the
>> complexity of C::DBI (which I've never used past sandbox).

I find CDBI very straightforward and convenient. The docs are a bit
light at times. And unfortunately there is not good handling of the
vendor dependant syntax for LIMIT and GROUP BY. I don't like having to
tell it the relation to other tables and I don't trust the loader
modules. Alzabo wins big here because of the schema design tool: you
have visual confirmation that it understands your database.

>> >
> Did you look at Alzabo at all?  I think it does a much better job than
> C::DBI of handling the generation of complex queries
> programmatically.

Well Class::DBI::AbstractSearch makes SQL::Abstract available to
CDBI. It doesn't appear easy to go from form data (or let's just stay
a hash of query data) to query generation
in Alzabo. For example, you can take HTML::Mason's %ARGS and submit it
directly to DBIx::Recordset->Search() to issue a SQL query.

> It's less complex than Rosetta, from what I can tell, but moreso
> than C::DBI.  And it's not an OO-RDBMS type of tool at all, even
> less so than C::DBI.

The nail in the coffin for my interest in Alzabo came when I asked if
I could catalog and formulate my own pure SQL and use it with Alzabo
and the answer was no... this feels very limiting to me. 

The most complete comparison of DBI wrappers I have seen is here:

http://search.cpan.org/~evo/DBIx-SQLEngine-0.93/SQLEngine/Docs/Related.pod

Is there an update on Alzabo's ability to easily switch between dev
and production database connection information? If so, then the table
in that doc needs updating.

-- 
        Carter's Compass: I know I'm on the right track when,
           by deleting something, I'm adding functionality.


_______________________________________________
sw-design mailing list
[email protected]
http://metaperl.com/cgi-bin/mailman/listinfo/sw-design

Reply via email to