Re: How to do a savepoint in DBI/DBD::Oracle?

From: De DBA <dedba_at_tpg.com.au>
Date: Wed, 01 Feb 2012 13:08:27 +1000
Message-ID: <4F28ACAB.6050007_at_tpg.com.au>



Sorry for the late reaction...

As the DBI::rollback method does not take an argument (i.e. does not support rollback to ..), it is logical for the DBI not to implement savepoint, isn't it? After all, what use is a savepoint if you can't rollback to it.

How do the developers use the savepoint set through the expensive PL/SQL object? Is it even useful is my point...

Cheers,
Tony

On 27/01/12 07:02, Bobak, Mark wrote:
> Thanks for the info....
>
> -----Original Message-----
> From: Brian Pardy [mailto:brianpa_at_burton.com]
> Sent: Thursday, January 26, 2012 4:01 PM
> To: Bobak, Mark
> Cc: 'oracle-l_at_freelists.org'
> Subject: RE: How to do a savepoint in DBI/DBD::Oracle?
>
> Unfortunately a prepared statement for the savepoint won't work:
>
> DBD::Oracle::st execute failed: ORA-03001: unimplemented feature (DBD ERROR: OCIStmtExecute) [for Statement "SAVEPOINT"] at ./savepoint2.pl line 32.
>
> DBIx::Connector seems to use direct OCI calls to perform the savepoint (I haven't checked the source). DBD::Oracle just uses OCIStmtExecute for everything run through $dbh->do (the first thing I tried) and $dbh->prepare. The OCI call to create a savepoint currently isn't implemented by DBD::Oracle.
>

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Jan 31 2012 - 21:08:27 CST

Original text of this message