/--- On Fri, Aug 18, 2000 at 06:19:43PM -0400, Chaim Frenkel wrote:
| I  don't  think  you  should  even  attempt  to  version/transaction
| protect
| a  tied variable.  Anything that  leaves the  memory or  could leave
| the
| memory (e.g. socket write) should probably not be versioned.
|
| Unless the tied variable somehow is able to tie itself into the
| transaction manager. It is up for grabs.
|
| But  if it  participates then  as  far as  the 'caller'  or user  is
| concerned
| it looks  like a  variable and acts  like a variable.  It must  be a
| variable.
\---

I  think versioning  a  tied variable  is  not a  nightmare  or a  bad
thing. Imagine  you have  tied hash  to a DBM  variable: YOU  make the
transaction management,  because dbm  doesn't have (ok,  berkeley has,
but forget it for a moment) proper transaction handling.

If you  prefer, we  can add a  new function to  the tie  interface for
ensuring the  proper transaction  behavoiur. For  example we  can make
an flock  when we FETCH  (SH), STORE (EX), and  we can release  a lock
on ROLLBACK  or COMMIT. If  ROLLBACK is  not defined, then  the system
automatically calls STORE with the old value. Is it sounds sane?

Tied interface transaction-enable can be good, belive me!

dLux
--
         ... Végy egy Magnumot és fogd rá a Nyuszira!

Reply via email to