Ask for newer DBD::Pg in author mode, suggest the newer version otherwise (proper...
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / Oracle / WhereJoins.pm
CommitLineData
9382ad07 1package DBIx::Class::Storage::DBI::Oracle::WhereJoins;
2
3use base qw( DBIx::Class::Storage::DBI::Oracle::Generic );
4
5use strict;
6use warnings;
7
6f4ddea1 8__PACKAGE__->sql_maker_class('DBIx::Class::SQLAHacks::OracleJoins');
9382ad07 9
9382ad07 101;
11
12__END__
13
14=pod
15
16=head1 NAME
17
18DBIx::Class::Storage::DBI::Oracle::WhereJoins - Oracle joins in WHERE syntax
19support (instead of ANSI).
20
21=head1 PURPOSE
22
23This module was originally written to support Oracle < 9i where ANSI joins
24weren't supported at all, but became the module for Oracle >= 8 because
25Oracle's optimising of ANSI joins is horrible. (See:
26http://scsys.co.uk:8001/7495)
27
28=head1 SYNOPSIS
29
30DBIx::Class should automagically detect Oracle and use this module with no
31work from you.
32
33=head1 DESCRIPTION
34
35This class implements Oracle's WhereJoin support. Instead of:
36
37 SELECT x FROM y JOIN z ON y.id = z.id
38
39It will write:
40
41 SELECT x FROM y, z WHERE y.id = z.id
42
43It should properly support left joins, and right joins. Full outer joins are
44not possible due to the fact that Oracle requires the entire query be written
45to union the results of a left and right join, and by the time this module is
46called to create the where query and table definition part of the sql query,
47it's already too late.
48
49=head1 METHODS
50
6f4ddea1 51See L<DBIx::Class::SQLAHacks::OracleJoins> for implementation details.
9382ad07 52
53=head1 BUGS
54
55Does not support full outer joins.
56Probably lots more.
57
58=head1 SEE ALSO
59
60=over
61
6f4ddea1 62=item L<DBIx::Class::SQLAHacks>
63
64=item L<DBIx::Class::SQLAHacks::OracleJoins>
9382ad07 65
66=item L<DBIx::Class::Storage::DBI::Oracle::Generic>
67
68=item L<DBIx::Class>
69
70=back
71
72=head1 AUTHOR
73
74Justin Wheeler C<< <jwheeler@datademons.com> >>
75
76=head1 CONTRIBUTORS
77
78David Jack Olrik C<< <djo@cpan.org> >>
79
80=head1 LICENSE
81
82This module is licensed under the same terms as Perl itself.
83
84=cut