diff --git a/src/relstorage/cache/cache.pyx b/src/relstorage/cache/cache.pyx index 36af5b69..5b7bae90 100644 --- a/src/relstorage/cache/cache.pyx +++ b/src/relstorage/cache/cache.pyx @@ -482,18 +482,18 @@ cdef class PyCache: def __setitem__(self, OID_t key, tuple value): # Do all this down here so we don't give up the GIL. cdef TID_t tid = value[1] - + state = value[0] or b'' if not self.cache.contains(key): # the long way to avoid type conversion self.cache.add_to_eden( key, - PyBytes_AsString(value[0] or b''), - len(value[0]), + PyBytes_AsString(state), + len(state), tid ) else: # We need to merge values. try: - self.cache.store_and_make_MRU(key, PyBytes_AsString(value[0]), len(value[0]), tid) + self.cache.store_and_make_MRU(key, PyBytes_AsString(state), len(state), tid) except RuntimeError as e: raise CacheConsistencyError(str(e))