Introduce GOVERNANCE document and empty RESOLUTIONS file.
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / Oracle.pm
CommitLineData
843f8ecd 1package DBIx::Class::Storage::DBI::Oracle;
2
3use strict;
4use warnings;
5
18360aed 6use base qw/DBIx::Class::Storage::DBI/;
2ad62d97 7use mro 'c3';
843f8ecd 8
18360aed 9sub _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 211;
22
75d07914 23=head1 NAME
843f8ecd 24
18360aed 25DBIx::Class::Storage::DBI::Oracle - Base class for Oracle driver
843f8ecd 26
843f8ecd 27=head1 DESCRIPTION
28
18360aed 29This class simply provides a mechanism for discovering and loading a sub-class
08fabf59 30for a specific version Oracle backend. It should be transparent to the user.
843f8ecd 31
86b23415 32For Oracle major versions < 9 it loads the ::Oracle::WhereJoins subclass,
08fabf59 33which unrolls the ANSI join style DBIC normally generates into entries in
34the WHERE clause for compatibility purposes. To force usage of this version
35no matter the database version, add
36
37 __PACKAGE__->storage_type('::DBI::Oracle::WhereJoins');
38
39to your Schema class.
843f8ecd 40
a2bd3796 41=head1 FURTHER QUESTIONS?
843f8ecd 42
a2bd3796 43Check the list of L<additional DBIC resources|DBIx::Class/GETTING HELP/SUPPORT>.
843f8ecd 44
a2bd3796 45=head1 COPYRIGHT AND LICENSE
843f8ecd 46
a2bd3796 47This module is free software L<copyright|DBIx::Class/COPYRIGHT AND LICENSE>
48by the L<DBIx::Class (DBIC) authors|DBIx::Class/AUTHORS>. You can
49redistribute it and/or modify it under the same terms as the
50L<DBIx::Class library|DBIx::Class/COPYRIGHT AND LICENSE>.