Commit | Line | Data |
843f8ecd |
1 | package DBIx::Class::Storage::DBI::Oracle; |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
18360aed |
6 | use base qw/DBIx::Class::Storage::DBI/; |
2ad62d97 |
7 | use mro 'c3'; |
843f8ecd |
8 | |
18360aed |
9 | sub _rebless { |
bf51641f |
10 | my ($self) = @_; |
843f8ecd |
11 | |
bf51641f |
12 | # Default driver |
86b23415 |
13 | my $class = $self->_server_info->{normalized_dbms_version} < 9 |
bf51641f |
14 | ? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins' |
15 | : 'DBIx::Class::Storage::DBI::Oracle::Generic'; |
52b420dd |
16 | |
bf51641f |
17 | $self->ensure_class_loaded ($class); |
18 | bless $self, $class; |
099049b5 |
19 | } |
20 | |
843f8ecd |
21 | 1; |
22 | |
75d07914 |
23 | =head1 NAME |
843f8ecd |
24 | |
18360aed |
25 | DBIx::Class::Storage::DBI::Oracle - Base class for Oracle driver |
843f8ecd |
26 | |
843f8ecd |
27 | =head1 DESCRIPTION |
28 | |
18360aed |
29 | This class simply provides a mechanism for discovering and loading a sub-class |
08fabf59 |
30 | for a specific version Oracle backend. It should be transparent to the user. |
843f8ecd |
31 | |
86b23415 |
32 | For Oracle major versions < 9 it loads the ::Oracle::WhereJoins subclass, |
08fabf59 |
33 | which unrolls the ANSI join style DBIC normally generates into entries in |
34 | the WHERE clause for compatibility purposes. To force usage of this version |
35 | no matter the database version, add |
36 | |
37 | __PACKAGE__->storage_type('::DBI::Oracle::WhereJoins'); |
38 | |
39 | to your Schema class. |
843f8ecd |
40 | |
a2bd3796 |
41 | =head1 FURTHER QUESTIONS? |
843f8ecd |
42 | |
a2bd3796 |
43 | Check the list of L<additional DBIC resources|DBIx::Class/GETTING HELP/SUPPORT>. |
843f8ecd |
44 | |
a2bd3796 |
45 | =head1 COPYRIGHT AND LICENSE |
843f8ecd |
46 | |
a2bd3796 |
47 | This module is free software L<copyright|DBIx::Class/COPYRIGHT AND LICENSE> |
48 | by the L<DBIx::Class (DBIC) authors|DBIx::Class/AUTHORS>. You can |
49 | redistribute it and/or modify it under the same terms as the |
50 | L<DBIx::Class library|DBIx::Class/COPYRIGHT AND LICENSE>. |