> hmm, as it seemed quite impossible the way i wanted it, i almost dropped
> it from my wishlist. now you say, it's doable...
It would be possible to add new official APIs to ZODB to supply some notion
of the collection of all modified objects, at the level ZODB "sees" objects.
"Of course" that would be doable, given enough work (which I sketched).
> i already had hacked into zodb.connection,
That's part of what would be needed, yes.
> the problem was that the objects maintained there
> (self._registered_objects) are not wrapped for acquisition, thus my
> reindexing method did not find the catalog to register with. how would
> you solve this problem?
For the entirety of what you want to do, I'd pursue Jim's suggestion and
forget about working at the ZODB level. You didn't actually want "all
modified objects" to begin with: that appeared to be a hack, an indirect
way to get at what you do want, which is a very specific subset of
application objects that need to be reindexed. Jim suggested some
principled ways to accomplish that without hacking ZODB internals.
> to answer your question above: a point-in-time list would be enough for
> me, just like to reindex all modified "model" objects. that should only
> change indexes.
If we were to add official APIs to ZODB, we'd have to consider what everyone
might want. Point-in-time is probably easiest to code, anyway.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org