=head1 PURPOSE
-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.
+This module is used with Oracle < 9.0 due to lack of support for standard
+ANSI join syntax.
=head1 SYNOPSIS
my ($self) = @_;
# Default driver
- my $class = $self->_server_info->{normalized_dbms_version} <= 8
+ my $class = $self->_server_info->{normalized_dbms_version} < 9
? 'DBIx::Class::Storage::DBI::Oracle::WhereJoins'
: 'DBIx::Class::Storage::DBI::Oracle::Generic';
This class simply provides a mechanism for discovering and loading a sub-class
for a specific version Oracle backend. It should be transparent to the user.
-For Oracle major versions <= 8 it loads the ::Oracle::WhereJoins subclass,
+For Oracle major versions < 9 it loads the ::Oracle::WhereJoins subclass,
which unrolls the ANSI join style DBIC normally generates into entries in
the WHERE clause for compatibility purposes. To force usage of this version
no matter the database version, add
This class implements base Oracle support. The subclass
L<DBIx::Class::Storage::DBI::Oracle::WhereJoins> is for C<(+)> joins in Oracle
-versions before 9.
+versions before 9.0.
=head1 METHODS
=head1 PURPOSE
-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.
+This module is used with Oracle < 9.0 due to lack of support for standard
+ANSI join syntax.
=head1 SYNOPSIS
sprintf('%d.%03d', $1, $2);
};
+# while 8i (8.1) does not document support for ansi joins, and the the drivers do not use
+# them because performance sucks, there is strong evidence they are in fact supported
+# means we can test 'em :)
my $test_server_supports_only_orajoins = $v < 8.001;
# TODO find out which version supports the RETURNING syntax
-# 8i has it and earlier docs are a 404 on oracle.com
+# 8i (8.1) has it and earlier docs are a 404 on oracle.com
my $test_server_supports_insert_returning = $v >= 8.001;
is (
$schema->storage->debug (0);
local $TODO = 'Something is confusing column bindtype assignment when quotes are active'
+ . ': https://rt.cpan.org/Ticket/Display.html?id=64206'
if $q;
foreach my $type (qw( blob clob )) {