Tim Bunce wrote:
>
> > *** DBD-Oracle-1.12.orig/Oracle.pm Fri Aug 31 18:27:18 2001
> > --- Oracle.pm Fri Jan 25 11:37:32 2002
> > ***************
> > *** 580,585 ****
> > --- 580,601 ----
> > return 1;
> > }
> >
> > + sub _server_version {
>
> Might as well call it ora_server_version as well.
>
> > + my $dbh = shift;
> > + return $dbh->{ora_server_version} if defined $dbh->{ora_server_version};
> > + $dbh->{ora_server_version} = [];
> > + my $sth = $dbh->prepare(<<'SQL') or return [];
> > + SELECT version
> > + FROM product_component_version
> > + WHERE product LIKE 'Oracle%'
> > + SQL
> > + $sth->execute or return [];
> > + my $row = $sth->fetch or return [];
> > + $dbh->{ora_server_version} = [ split /\./, $row->[0] ];
> > + $sth->finish;
>
> Tsk, tsk. I'd use $dbh->selectrow_array :)
Ok, ok, here comes the compact edition:
*** DBD-Oracle-1.12.orig/Oracle.pm Fri Aug 31 18:27:18 2001
--- Oracle.pm Fri Jan 25 22:08:33 2002
***************
*** 580,585 ****
--- 580,595 ----
return 1;
}
+ sub ora_server_version {
+ my $dbh = shift;
+ return $dbh->{ora_server_version} if defined $dbh->{ora_server_version};
+ $dbh->{ora_server_version} =
+ [ split /\./, $dbh->selectrow_array(<<'SQL', undef, 'Oracle%') .''];
+ SELECT version
+ FROM product_component_version
+ WHERE product LIKE ?
+ SQL
+
} # end of package DBD::Oracle::db