diff --git a/src/ZODB/DemoStorage.py b/src/ZODB/DemoStorage.py index ebff82e6b4670b04144c672042f1a7ea3592ddf2..4bcc18d940b50f756dff1ee83f4bb3b834d5d148 100644 --- a/src/ZODB/DemoStorage.py +++ b/src/ZODB/DemoStorage.py @@ -194,7 +194,17 @@ class DemoStorage(object): return oid - def pack(self, t, referencesf, gc=False): + def pack(self, t, referencesf, gc=None): + if gc is None: + if self._temporary_base: + return self.changes.pack(t, referencesf) + elif self._temporary_base: + return self.changes.pack(t, referencesf, gc=gc) + elif gc: + raise TypeError( + "Garbage collection isn't supported" + " when there is a base storage.") + try: self.changes.pack(t, referencesf, gc=False) except TypeError, v: