[Bast-commits] r9434 -
DBIx-Class/0.08/branches/try-tiny/lib/DBIx/Class/Storage/DBI/Oracle
caelum at dev.catalyst.perl.org
caelum at dev.catalyst.perl.org
Tue May 25 17:47:20 GMT 2010
Author: caelum
Date: 2010-05-25 18:47:20 +0100 (Tue, 25 May 2010)
New Revision: 9434
Modified:
DBIx-Class/0.08/branches/try-tiny/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm
Log:
fix Oracle
Modified: DBIx-Class/0.08/branches/try-tiny/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm
===================================================================
--- DBIx-Class/0.08/branches/try-tiny/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm 2010-05-25 16:42:31 UTC (rev 9433)
+++ DBIx-Class/0.08/branches/try-tiny/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm 2010-05-25 17:47:20 UTC (rev 9434)
@@ -125,13 +125,21 @@
my $self = shift;
my ($dbh, $op, $extra_bind, $ident, $bind_attributes, @args) = @_;
- my $retried;
+ my $wantarray = wantarray;
+ my ($retried, @res);
+ my $next = $self->next::can;
do {
try {
- return $self->next::method($dbh, $op, $extra_bind, $ident, $bind_attributes, @args);
+ if ($wantarray) {
+ @res = $self->$next($dbh, $op, $extra_bind, $ident, $bind_attributes, @args);
+ }
+ else {
+ $res[0] = $self->$next($dbh, $op, $extra_bind, $ident, $bind_attributes, @args);
+ }
+ $retried++;
}
catch {
- if (!$retried and $_ =~ /ORA-01003/) {
+ if (/ORA-01003/) {
# ORA-01003: no statement parsed (someone changed the table somehow,
# invalidating your cursor.)
my ($sql, $bind) = $self->_prep_for_execute($op, $extra_bind, $ident, \@args);
@@ -142,6 +150,8 @@
}
};
} while (not $retried++);
+
+ return $wantarray ? @res : $res[0];
}
=head2 get_autoinc_seq
@@ -156,19 +166,6 @@
$self->dbh_do('_dbh_get_autoinc_seq', $source, $col);
}
-=head2 columns_info_for
-
-This wraps the superclass version of this method to force table
-names to uppercase
-
-=cut
-
-sub columns_info_for {
- my ($self, $table) = @_;
-
- $self->next::method($table);
-}
-
=head2 datetime_parser_type
This sets the proper DateTime::Format module for use with
More information about the Bast-commits
mailing list