Jim Fulton schrieb:
> On Feb 11, 2008, at 1:25 PM, Christian Theune wrote:
>> Jim Fulton schrieb:
>>> On Feb 11, 2008, at 1:19 PM, Christian Theune wrote:
>>>>>> Also, this code isn't ZEO-compatible (apart from the fact that
>>>>>> ClientStorage doesn't implement the interface).
>>>>> How so?
>>>> As far as I understand, ZEO can't pass iterators around directly but
>>>> needs to provide at least some wrapping code on the protocol level ...
>>> Good point. This, at least, makes the implementation rather tricky.
>> There is the pattern like undoInfo/Log and record_iternext which
>> provides context by passing in ranges of records to return + tolerance
>> for ranges that don't exist.
> I don't think that's going to work here. Iterating through the
> transactions in the database for each iteration is going to be totally
Yes, you're right. Still, the road of providing call context via a
parameter seems better to me than to enhance the ZEO protocol to account
for this purpose.
> I suppose you could include file positions in the iterator state,
> although that makes me a little uncomfortable. It might be OK here though.
Context could be given as a reference date that is opaque to the client
and can differ from storage to storage, a file pointer could serve this
purpose. The API still might include the `length` of the data returned
to minimize round-trips.
gocept gmbh & co. kg - forsterstrasse 29 - 06112 halle (saale) - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org