On Wed, Jul 02, 2008 at 08:07:56AM -0400, Erik Dahl wrote:
> I have a situation where I want to mutate the class of an instance like 
> this:
>
> inst.__class__ = NewClass

Is inst a persistent object?  Then your only chance to get this to work
is to find *all* objects that reference inst and mark them _p_changed.

> I'm in zeo land.  When I do this in one client things work fine.

More careful testing would show that not to be the case, I think.

> But of 
> course the other clients who have already loaded the instance still hold 
> the old class.  Restarting them gets the new class so it did get stored 
> properly in the pickle (which I would expect).

The class is also stored in every reference to that object.

> Any chance I can get zeo 
> to tell the other clients about the new class?

Marius Gedminas
-- 
It's my understanding that although in principle TCP can handle huge
throughputs in practice many stacks haven't been optimized for that case, so
you have to either use a utility which opens multiple TCP sessions in parallel
or do something really radical like upgrade to the latest version of the linux
kernel.
                -- Bram Cohen

Attachment: signature.asc
Description: Digital signature

_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to