X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FOracle.pm;h=d2fef18d5e115a916f68000d4b224f1a7d3452e2;hb=36d18cd952538e9217aaf2cfd2568a9409d46e92;hp=4d289af104bc5f91b50221929fc63b5af60f90f4;hpb=e21dfd6a08cbef7df0ed57462cefb6ad0854fc09;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Storage/DBI/Oracle.pm b/lib/DBIx/Class/Storage/DBI/Oracle.pm index 4d289af..d2fef18 100644 --- a/lib/DBIx/Class/Storage/DBI/Oracle.pm +++ b/lib/DBIx/Class/Storage/DBI/Oracle.pm @@ -1,5 +1,4 @@ package DBIx::Class::Storage::DBI::Oracle; -# -*- mode: cperl; cperl-indent-level: 2 -*- use strict; use warnings; @@ -7,23 +6,23 @@ use warnings; use base qw/DBIx::Class::Storage::DBI/; sub _rebless { - my ($self) = @_; + my ($self) = @_; - my $version = eval { $self->_dbh->get_info(18); }; - unless ( $@ ) { - my ($major,$minor,$patchlevel) = split(/\./,$version); + my $version = eval { $self->_dbh->get_info(18); }; - # Default driver - my $class = "DBIx::Class::Storage::DBI::Oracle::Generic"; + if ( !$@ ) { + my ($major, $minor, $patchlevel) = split(/\./, $version); - # Version specific drivers - $class = "DBIx::Class::Storage::DBI::Oracle::8" - if $major == 8; + # Default driver + my $class = $major >= 8 + ? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins' + : 'DBIx::Class::Storage::DBI::Oracle::Generic'; - # Load and rebless - eval "require $class"; - bless $self, $class unless $@; - } + # Load and rebless + eval "require $class"; + + bless $self, $class unless $@; + } }