Chris Withers wrote:
> Jim Fulton wrote:
>> I'm fine with change the storage server to pass the history size
>> argument as a keyword parameter.
> Okay, but where is the Z309 equivalent of ZEOStorage308Adapter's history
Ug, the answer is much less pleasant :-(
So, a ZODB 3.9.3 ClientStorage calls the ServerStub's history method,
this does an rpc call:
self.rpc.call('history', oid, length)
Which comes in on the server and gets despatched straight out in:
/ZEO/zrpc/connection.py", line 581, in handle_request
This, of course, means we can't pull the keyword parameters trick, since
ZEO's rpc doesn't support keyword parameters from what I saw...
I'm not sure what to suggest here...
- release a new version of zeoraid targeted at zodb 3.9+ that doesn't
include any version parameters anywhere. (I dunno how Christian would
feel about the maintenance burden)
- drop support for zodb < 3.9 in zeoraid and remove all version
parameters. That'd be fine by me, dunno how Christian would feel.
- use some kind of StorageInterface to indicate what parameters a
storage expects. (this would require work on both zeoraid and zeoraid :-/)
- make zrpc.connection.Connection.handle_request do some fancier work
around 581 to check what parameters the method is expecting. I worry
that might impact performance though...
Simplistix - Content Management, Batch Processing & Python Consulting
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org