apparently Begin() doesn't actually do anything..
This version calls dbh->begin_work, which temporarily turns off
AutoCommit (until the next rollback/commit) and begins a transaction.
If AutoCommit is off, you are already in a transaction and this version
still does nothing. Perhaps Begin() could give an error if its called
and the object is Dirty or something?
Apparently !DBIAttr is ignored if you're using a pre-existing !DataSource,
so this was the only way for me to get a transaction (required for
postgres large objects - else they fail in really obscure ways..)
--- /usr/share/perl5/DBIx/Recordset.pm Tue Dec 11 16:12:03 2001
+++ Recordset.pm Mon Dec 17 11:03:51 2001
@@ -727,8 +727,8 @@
{
my ($self) = @_ ;
- # 'begin' method is unhandled by DBI
- ## ?? $self->{'*DBHdl'} -> func('begin') unless $self->{'*DBHdl'}->{'AutoC
ommit'};
+ # temporarily turns AutoCommit off
+ $self->{'*DBHdl'} -> begin_work if $self->{'*DBHdl'}->{'AutoCommit'};
}
## ----------------------------------------------------------------------------
--
- Gus
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]