Hi,

after some small discussions with Martin and Chris I started a rewrite of OpenCA::DBI. The reason is very simple - OpenCA::DBI was a spin-off from the old OpenCA::DB. This means that it was optimized for one backend with a lot of limitations. We do not support DBM any longer. so there is no reason for such a behaviour.

I just commited the first code from friday. It has of course not the full functionality like the old code because the new clean design requires a lot of new code. The basic idea is a monolith interface like now but with a multilayer architecture below the surface.

OpenCA::DBI is like now the user interface but below there is a four level architecture:

1. OpenCA::DBI::Object
2. OpenCA::DBI::Hash
3. OpenCA::DBI::SQL
4. OpenCA::DBI::DBH

The first object layer is the original object handling. The second layer implements the table handling on a hash base. The third layer build the SQL queries. The fourth layer is the connection to Perl's DBI.

I used four layers to get cleaner code. The old code implements a lot of compensation hacks. It is much easier to maintain such fixes if they are isolated in the correct layer and not mixed up with other fixes perhaps in the worng order.

Perhaps the most significant new feature is that new code parts are documented via pod. This means that you can run "perldoc OpenCA::DBI::SQL" or "perldoc SQL.pm" to see the documented interface.

BTW I found during the beginning rewrite the performance problem of the dataexchange from the stable version. getNextItem selects all items greater or equal the last item and then it takes the second item as result but the primary select returns at average 50 percent of the rows.

Regards Michael
--
_______________________________________________________________

Michael Bell                    Humboldt-Universitaet zu Berlin

Tel.: +49 (0)30-2093 2482       ZE Computer- und Medienservice
Fax:  +49 (0)30-2093 2704       Unter den Linden 6
[EMAIL PROTECTED]   D-10099 Berlin
_______________________________________________________________

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to