Introduce GOVERNANCE document and empty RESOLUTIONS file.
[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 use mro 'c3';
8
9 sub _rebless {
10   my ($self) = @_;
11
12   # Default driver
13   my $class = $self->_server_info->{normalized_dbms_version} < 9
14     ? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins'
15     : 'DBIx::Class::Storage::DBI::Oracle::Generic';
16
17   $self->ensure_class_loaded ($class);
18   bless $self, $class;
19 }
20
21 1;
22
23 =head1 NAME
24
25 DBIx::Class::Storage::DBI::Oracle - Base class for Oracle driver
26
27 =head1 DESCRIPTION
28
29 This class simply provides a mechanism for discovering and loading a sub-class
30 for a specific version Oracle backend. It should be transparent to the user.
31
32 For Oracle major versions < 9 it loads the ::Oracle::WhereJoins subclass,
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.
40
41 =head1 FURTHER QUESTIONS?
42
43 Check the list of L<additional DBIC resources|DBIx::Class/GETTING HELP/SUPPORT>.
44
45 =head1 COPYRIGHT AND LICENSE
46
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>.