X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSQLAHacks%2FOracleJoins.pm;h=4254ababb4b1dd5d9e57609c18bbb61984ea3d9b;hb=7fca91be5671c61be5c766bd93df741bc00d9c15;hp=c9ca81d5a56d2367d0bad600ea89710caf28df22;hpb=6f4ddea126a20d67bc599a804d097ed8d3c086aa;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/SQLAHacks/OracleJoins.pm b/lib/DBIx/Class/SQLAHacks/OracleJoins.pm index c9ca81d..4254aba 100644 --- a/lib/DBIx/Class/SQLAHacks/OracleJoins.pm +++ b/lib/DBIx/Class/SQLAHacks/OracleJoins.pm @@ -1,16 +1,17 @@ package # Hide from PAUSE -DBIx::Class::SQLAHacks::OracleJoins; + DBIx::Class::SQLAHacks::OracleJoins; use base qw( DBIx::Class::SQLAHacks ); +use Carp::Clan qw/^DBIx::Class|^SQL::Abstract/; sub select { - my ($self, $table, $fields, $where, $order, @rest) = @_; + my ($self, $table, $fields, $where, $rs_attrs, @rest) = @_; if (ref($table) eq 'ARRAY') { $where = $self->_oracle_joins($where, @{ $table }); } - return $self->SUPER::select($table, $fields, $where, $order, @rest); + return $self->SUPER::select($table, $fields, $where, $rs_attrs, @rest); } sub _recurse_from { @@ -67,7 +68,7 @@ sub _recurse_oracle_joins { #TODO: Support full outer joins -- this would happen much earlier in #the sequence since oracle 8's full outer join syntax is best #described as INSANE. - die "Can't handle full outer joins in Oracle 8 yet!\n" + croak "Can't handle full outer joins in Oracle 8 yet!\n" if $to_jt->{-join_type} =~ /full/i; $left_join = q{(+)} if $to_jt->{-join_type} =~ /left/i @@ -95,8 +96,7 @@ DBIx::Class::SQLAHacks::OracleJoins - Pre-ANSI Joins-via-Where-Clause Syntax This module was originally written to support Oracle < 9i where ANSI joins weren't supported at all, but became the module for Oracle >= 8 because -Oracle's optimising of ANSI joins is horrible. (See: -http://scsys.co.uk:8001/7495) +Oracle's optimising of ANSI joins is horrible. =head1 SYNOPSIS