package DBIx::Class::Storage::DBI::Oracle;
-# -*- mode: cperl; cperl-indent-level: 2 -*-
use strict;
use warnings;
use base qw/DBIx::Class::Storage::DBI/;
+print STDERR "Oracle.pm got called.\n";
+
sub _rebless {
- my ($self) = @_;
+ my ($self) = @_;
+
+ print STDERR "Rebless got called.\n";
+
+ my $version = eval { $self->_dbh->get_info(18); };
+
+ if ( !$@ ) {
+ my ($major, $minor, $patchlevel) = split(/\./, $version);
- my $version = eval { $self->_dbh->get_info(18); };
- unless ( $@ ) {
- my ($major,$minor,$patchlevel) = split(/\./,$version);
+ # Default driver
+ my $class = $major >= 8
+ ? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins'
+ : 'DBIx::Class::Storage::DBI::Oracle::Generic';
- # Default driver
- my $class = "DBIx::Class::Storage::DBI::Oracle::Generic";
+ print STDERR "Class: $class\n";
- # Version specific drivers
- $class = "DBIx::Class::Storage::DBI::Oracle::8"
- if $major == 8;
+ # Load and rebless
+ eval "require $class";
- # Load and rebless
- eval "require $class";
- bless $self, $class unless $@;
- }
+ print STDERR "\$@: $@\n";
+ bless $self, $class unless $@;
+ }
}