[Koha-devel] [PATCH] C4::Table - A simple OO database abstraction layer.

Joe Atzberger ohiocore at gmail.com
Tue Nov 4 19:23:11 CET 2008


Paul --

I think you mean all the SQL should be in C4, and yes I agree with that.
C4::Table does not receive any SQL as arguments to select, insert or
delete.  I.E., it preserves the encapsulation of SQL inside C4/*.

This would speed up development of features because a C4/NewFeature.pm
module might not be necessary at all, or could focus on things special to
NewFeature besides basic table operations.  Once a table is added to the DB,
C4::Table can access it, no new code necessary.

And the other code will be more recognizable, using the same kind of
$table->select({fieldname=>"value"}) statements.  Would be nice to be able
to use the same OO code accessing issues and old_issues, or any of the XX
and old_XX tables, for example.

--Joe

On Tue, Nov 4, 2008 at 12:43 PM, Paul POULAIN <paul.poulain at free.fr> wrote:

> Joe Atzberger a écrit :
> > The purpose of Table is to provide all the basic functionality that
> > is reimplemented multiple times throughout Koha for each DB table.
> > This code is considered experimental and does not yet supplant any
> > production code.  Please examine and test, like:
> >     use C4::Table;
> >     my $table = C4::Table->new("borrowers");
> >     my $set = $table->select({surname=>"Smith",
> sort=>"branchcode,firstname"});
>
> Hi Joe,
>
> do we agree that it doesn't mean there will be those statements in Perl
> ? I think having all Perl in C4/*.pm is a good way. So, this C4::Table
> will be used in .pm. agreed ?
>
> --
> Paul POULAIN
> http://www.biblibre.com
> Expert en Logiciels Libres pour l'info-doc
> NOUVEAU TELEPHONE : 04 91 81 35 08
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/koha-devel/attachments/20081104/5ddc5cd7/attachment-0003.htm>


More information about the Koha-devel mailing list