Bug 13690: use Koha::Schema only when it's needed

This patch makes Koha::Database lazy-load the whole Koha::Schema libraries.
It doesn't seem to have negative effects, and makes scripts not using
DBIx::Class notably faster [1].

Regards

[1] If you read the DBIx::Class::Schema docs, it explains that it it uses
Module::Find to load all schema files...
http://search.cpan.org/~ribasushi/DBIx-Class-0.082810/lib/DBIx/Class/Schema.pm#load_namespaces

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Happy to sign this one. The only extra comment would be that DBIx::Class
performance issues remain after this patch, but is being handled in a
different bug.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
Jonathan Druart 2015-02-10 11:34:10 +01:00 committed by Tomas Cohen Arazi
parent 8770d37de7
commit c52bc9756a

View file

@ -35,7 +35,6 @@ Koha::Database
use Modern::Perl;
use Carp;
use C4::Context;
use Koha::Schema;
use base qw(Class::Accessor);
__PACKAGE__->mk_accessors(qw( ));
@ -46,6 +45,7 @@ __PACKAGE__->mk_accessors(qw( ));
# returns it.
sub _new_schema {
require Koha::Schema;
my $context = C4::Context->new();
# we are letting C4::Context->dbh not set the RaiseError handle attribute