1 package DBIx::Class::Storage::DBI::Oracle::WhereJoins;
6 use base qw( DBIx::Class::Storage::DBI::Oracle::Generic );
9 __PACKAGE__->sql_maker_class('DBIx::Class::SQLAHacks::OracleJoins');
19 DBIx::Class::Storage::DBI::Oracle::WhereJoins - Oracle joins in WHERE syntax
20 support (instead of ANSI).
24 This module was originally written to support Oracle < 9i where ANSI joins
25 weren't supported at all, but became the module for Oracle >= 8 because
26 Oracle's optimising of ANSI joins is horrible.
30 DBIx::Class should automagically detect Oracle and use this module with no
35 This class implements Oracle's WhereJoin support. Instead of:
37 SELECT x FROM y JOIN z ON y.id = z.id
41 SELECT x FROM y, z WHERE y.id = z.id
43 It should properly support left joins, and right joins. Full outer joins are
44 not possible due to the fact that Oracle requires the entire query be written
45 to union the results of a left and right join, and by the time this module is
46 called to create the where query and table definition part of the SQL query,
47 it's already too late.
51 See L<DBIx::Class::SQLAHacks::OracleJoins> for implementation details.
55 Does not support full outer joins.
62 =item L<DBIx::Class::SQLAHacks>
64 =item L<DBIx::Class::SQLAHacks::OracleJoins>
66 =item L<DBIx::Class::Storage::DBI::Oracle::Generic>
74 Justin Wheeler C<< <jwheeler@datademons.com> >>
78 David Jack Olrik C<< <djo@cpan.org> >>
82 This module is licensed under the same terms as Perl itself.