Skip to content

Should check to make sure objects are persistent #16

@davisagli

Description

@davisagli

It's possible to accidentally use zodbupdate to replace a persistent class with a non-persistent one. Then zodbverify passes, but actually loading the object in a ZODB connection results in an exception:

  Module ZODB.Connection, line 792, in setstate
  Module ZODB.serialize, line 639, in setGhostState
  Module ZODB.serialize, line 632, in getState
  Module ZODB.serialize, line 501, in _persistent_load
  Module ZODB.serialize, line 582, in load_oid
  Module ZODB.Connection, line 257, in get
TypeError: Cache values must be persistent objects.

So zodbverify should check to make sure each object is actually a subclass of Persistent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions