I'm a retard.
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / Oracle.pm
1 package DBIx::Class::Storage::DBI::Oracle;
2
3 use strict;
4 use warnings;
5
6 use base qw/DBIx::Class::Storage::DBI/;
7
8 sub _rebless {
9     my ($self) = @_;
10
11     my $version = eval { $self->_dbh->get_info(18); };
12
13     if ( !$@ ) {
14         my ($major, $minor, $patchlevel) = split(/\./, $version);
15
16         # Default driver
17         my $class = $major >= 8
18           ? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins'
19           : 'DBIx::Class::Storage::DBI::Oracle::Generic';
20
21         # Load and rebless
22         eval "require $class";
23
24         bless $self, $class unless $@;
25     }
26 }
27
28
29 1;
30
31 =head1 NAME
32
33 DBIx::Class::Storage::DBI::Oracle - Base class for Oracle driver
34
35 =head1 SYNOPSIS
36
37   # In your table classes
38   __PACKAGE__->load_components(qw/Core/);
39
40 =head1 DESCRIPTION
41
42 This class simply provides a mechanism for discovering and loading a sub-class
43 for a specific version Oracle backend.  It should be transparent to the user.
44
45
46 =head1 AUTHORS
47
48 David Jack Olrik C<< <djo@cpan.org> >>
49
50 =head1 LICENSE
51
52 You may distribute this code under the same terms as Perl itself.
53
54 =cut