[ZODB-Dev] Fixing Broken Objects?

Tino Wildenhain tino at wildenhain.de
Fri Oct 14 02:38:56 EDT 2005


Am Donnerstag, den 13.10.2005, 18:09 -0400 schrieb Jim Fulton:
> Tino Wildenhain wrote:
> > Am Donnerstag, den 13.10.2005, 08:03 +0200 schrieb Andreas Jung:
> > 
> >>--On 13. Oktober 2005 01:45:30 -0400 Chris Spencer 
> >><gmane.20.evilspam at spamgourmet.com> wrote:
> >>
> >>
> >>>I noticed that if a ZEOServer client doesn't have the definition for an
> >>>object's class, it loads it as a broken object. Is there any way to fix
> >>>the broken object by obtaining the class source from the server?
> >>>
> >>
> >>Your sources on the client side must be complete. Otherwise the object is
> >>broken. The server has nothing to do with problem. Fix your client.
> > 
> > 
> > While it would certainly be nice if the ZEO server could deliver 
> > codeobjects too.
> 
> 
> I don't think it would be useful to deliver ordinary Python modules
> via the DB.

Why not? This way one could keep all code changes in a central 
repository, w/o the need of either manually syncing or some
special (flaky) network filesystem. 

> It would be useful to support persistent modules, which would have
> somewhat different semantics than standard Python modules.
> There is limited experimental support for this in the Zope 3 repository.

Another usecase and valid too - this way one could do an entire
timetravel with code, data and objects in the ZODB.
SVN made right, so to say :)

> 
>  > In Theory and with much much bad hackery (overwriting
> > __import__ and friends) it could be possible. Jim?
> 
> For some definition of "it", sure.

Btw, (hijacking the thread because a bit related)
how can I serialize the state of a generator
object? (e.g. for caching it between requests)
Pickle does not work for it (whyever)

Regards
Tino



More information about the ZODB-Dev mailing list