pathb string
# files:
# <pathb>.main
+ # <pathb>.lock
# <pathb>.cdb
# <pathb>.log
# <pathb>.tmp (might be new .main or new .cdb)
# invariants:
+ # .lock is an empty file
+ # which is locked with fcntl by open
# .main is a cdb native text file
# and always exists
# if .tmp exists it is irrelevant