From c09024c2f172597bc9f3709d8603db52b4b20e71 Mon Sep 17 00:00:00 2001
From: Jeremy Hylton <jeremy@svn.zope.org>
Date: Wed, 14 Aug 2002 20:44:28 +0000
Subject: [PATCH] Allow read-only client connections to call pack().

Not sure about this judgement call.  It is really convenient to be
able to pack a ZEO server, even if it is only accepting read-only
connections.  Is pack() a write operation?  At one level: Yes, it
modifies the data.fs.  But it doesn't modify current objects, so it
isn't the same as calling store().

We can revisit this later if it ends up being a problem for someone.
---
 trunk/src/ZEO/ClientStorage.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/trunk/src/ZEO/ClientStorage.py b/trunk/src/ZEO/ClientStorage.py
index 94adcd85..ee803ee6 100644
--- a/trunk/src/ZEO/ClientStorage.py
+++ b/trunk/src/ZEO/ClientStorage.py
@@ -13,7 +13,7 @@
 ##############################################################################
 """Network ZODB storage client
 
-$Id: ClientStorage.py,v 1.44 2002/08/14 19:46:28 jeremy Exp $
+$Id: ClientStorage.py,v 1.45 2002/08/14 20:44:28 jeremy Exp $
 """
 
 import cPickle
@@ -290,8 +290,7 @@ class ClientStorage:
         return oid
 
     def pack(self, t=None, rf=None, wait=0, days=0):
-        if self._is_read_only:
-            raise POSException.ReadOnlyError()
+        # XXX Is it okay that read-only connections allow pack()?
         # rf argument ignored; server will provide it's own implementation
         if t is None:
             t = time.time()
-- 
2.30.9