X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FOracle.pm;h=b0184e8fccb96a3601dd254982ff50cfff82aaa9;hb=0c11ad0ee5c8407f6b87d6e15c62a1b445076dc0;hp=bf50bcc7dd21d3b285d0571af774eb3441c116b1;hpb=fd323bf1046faa7de5a8c985268d80ec5b703361;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/Oracle.pm b/lib/DBIx/Class/Storage/DBI/Oracle.pm index bf50bcc..b0184e8 100644 --- a/lib/DBIx/Class/Storage/DBI/Oracle.pm +++ b/lib/DBIx/Class/Storage/DBI/Oracle.pm @@ -9,21 +9,15 @@ use Try::Tiny; use namespace::clean; sub _rebless { - my ($self) = @_; + my ($self) = @_; - try { - my $version = $self->_get_dbh->get_info(18); + # Default driver + my $class = $self->_server_info->{normalized_dbms_version} < 9 + ? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins' + : 'DBIx::Class::Storage::DBI::Oracle::Generic'; - my ($major, $minor, $patchlevel) = split(/\./, $version); - - # Default driver - my $class = $major <= 8 - ? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins' - : 'DBIx::Class::Storage::DBI::Oracle::Generic'; - - $self->ensure_class_loaded ($class); - bless $self, $class; - }; + $self->ensure_class_loaded ($class); + bless $self, $class; } 1; @@ -37,7 +31,7 @@ DBIx::Class::Storage::DBI::Oracle - Base class for Oracle driver This class simply provides a mechanism for discovering and loading a sub-class for a specific version Oracle backend. It should be transparent to the user. -For Oracle major versions <= 8 it loads the ::Oracle::WhereJoins subclass, +For Oracle major versions < 9 it loads the ::Oracle::WhereJoins subclass, which unrolls the ANSI join style DBIC normally generates into entries in the WHERE clause for compatibility purposes. To force usage of this version no matter the database version, add @@ -46,9 +40,9 @@ no matter the database version, add to your Schema class. -=head1 AUTHORS +=head1 AUTHOR AND CONTRIBUTORS -David Jack Olrik C<< >> +See L and L in DBIx::Class =head1 LICENSE