On Wed, Jun 17, 2009 at 01:53:36PM -0500, David Dooling wrote: > On Wed, Jun 17, 2009 at 01:08:26PM +0800, Matthew Watson wrote: > > Does DBI ( specifically DBD::Oracle ) have any support for > > distributed transactions (XA). I have a need to share an oracle > > session between java and perl clients, this could be done in Oracle > > 11g via the DBMS_XA package, however it seems like it should be > > doable in earlier versions via OCI, is this support at all? > > UR can do this, but not directly at the database level. The bad part > of this is that it does not use Oracle's methodology to do this. The > good part is that it will work across databases residing on different > RDBMS's. > > http://search.cpan.org/search?query=UR&mode=module > > Basically, UR's object cache / Context acts as a software transaction > that sits on top of whatever database transactions are active through > the data sources. So what ends up happening is that you can load > objects that come from multiple databases, and when you tell the > Context to commit, it executes the SQL separately to each database in > its own transaction. After all the databases' SQL statements have > completed successfully, it tells each DB transaction to commit. > > If any of the SQL fails, then all the DB transactions are rolled back.
If two databases are being used, and the commit to the first succeeds and the commit to the second fails, how does it "rollback" the first commit? Tim.
