X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FOracle.pm;h=399eb70d8f72798956b48e881a008a6118767d2b;hb=4225194590a09e29451ba825c34483f98c1a0c03;hp=778d12f9ab2414590253ec1d6306ea579bc33dcd;hpb=adb3554a3f72bf9c9b267c5eb84a8401da64bf37;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/Oracle.pm b/lib/DBIx/Class/Storage/DBI/Oracle.pm index 778d12f..399eb70 100644 --- a/lib/DBIx/Class/Storage/DBI/Oracle.pm +++ b/lib/DBIx/Class/Storage/DBI/Oracle.pm @@ -4,11 +4,12 @@ use strict; use warnings; use base qw/DBIx::Class::Storage::DBI/; +use mro 'c3'; sub _rebless { my ($self) = @_; - my $version = eval { $self->_dbh->get_info(18); }; + my $version = eval { $self->_get_dbh->get_info(18); }; if ( !$@ ) { my ($major, $minor, $patchlevel) = split(/\./, $version); @@ -18,38 +19,17 @@ sub _rebless { ? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins' : 'DBIx::Class::Storage::DBI::Oracle::Generic'; - # Load and rebless - eval "require $class"; - - bless $self, $class unless $@; + $self->ensure_class_loaded ($class); + bless $self, $class; } } -sub _svp_begin { - my ($self, $dbh, $name) = @_; - - $dbh->do("SAVEPOINT $name"); -} - -# Would've implemented _svp_release here, but Oracle doesn't support it. - -sub _svp_rollback { - my ($self, $dbh, $name) = @_; - - $dbh->do("ROLLBACK TO SAVEPOINT $name") -} - 1; =head1 NAME DBIx::Class::Storage::DBI::Oracle - Base class for Oracle driver -=head1 SYNOPSIS - - # In your table classes - __PACKAGE__->load_components(qw/Core/); - =head1 DESCRIPTION This class simply provides a mechanism for discovering and loading a sub-class