[ZODB-Dev] ZODB and ORBit-Python problems

Christian Robottom Reis kiko@async.com.br
Fri, 18 May 2001 13:43:01 -0300 (BRT)


On Fri, 18 May 2001, Greg Ward wrote:

> We have a ZODB (accessed via ZEO) that uses mx.DateTime objects all over
> the place, so putting random extension types into a ZODB is not a
> problem.

How fast is it, Greg? The ZODB/ZEO combo, I mean, regardless of my
problem? I'm running some tests and reading all objects seems pretty slow. 

> Can you pickle ORBit-Python objects outside of a ZODB context, ie. does
> something like the above dialogue work for O-P objects?  If not, it's
> O-P's fault for not supporting the pickle protocol.  If so, I dunno who
> to blame.

The problem is pickling CORBA object references. Pickling a CORBA servant
is no problem, _unless_ it holds a CORBA reference. Therein lies a
problem: if we are to provide references to other CORBA objects in CORBA
objects (which is the whole point of CORBA, not that I've stated it), we
have two choices: store a Python reference, or store a CORBA
reference. Option a) is evil, since the references aren't valid
client-side. And storing CORBA references can be done (I'm hacking O-P to
do it) -- but since it's not a Python reference, I now worry that if ZODB
evicts an object from the cache, the python reference might change. I'm
not sure this is correct, though.

I guess it has to do with the questions: does ZODB guaranteee the same
object reference for persisted object in a single run? And over runs?

Take care,
--
/\/\ Christian Reis, Senior Engineer, Async Open Source, Brazil
~\/~ http://async.com.br/~kiko/ | [+55 16] 274 4311