Completed implementation of the FullLog subclass. Specifically:
__init__(): FullLog must now maintain a list of created versions so that the Berkeley storage can query it when it's got a version string it doesn't know about. Otherwise, we'll just create multiple create-version entries in the log. finish(): clear the __versions dict. get_vid(): Look up a version string, returning the associated vid, or None (by default). write_object(), write_nonversion_object(), write_moved_object, write_new_version, write_discard_version(): Higher level interface to adding new commit log entries. There's really only three record types, but it helps to have the higher level API. next_object(): Get the next entry in the commit log, but assert that the key is one of `o', `v', or `d'. Also, fix a typo and get rid of the old store() and storeNV() methods.
Showing
Please register or sign in to comment