lookup
db iddata(&cdbtcl_databases)
key obj
+ ?def obj
=> obj
lookup-hb
db iddata(&cdbtcl_databases)
key hb
- => hb
+ ?def obj
+ => obj
close
db iddata(&cdbtcl_databases)
# <pathb>.main
# <pathb>.lock
# <pathb>.cdb
- # <pathb>.log
+ # <pathb>.jrn
# <pathb>.tmp (might be new .main or new .cdb)
# invariants:
# .lock is an empty file
# .cdb is a cdb database containing data
# equivalent to and at least as recent as .main
# (maybe not identical, because .cdb may
- # have been updated with data from .log but
- # .main not yet); if .log does not exist then
+ # have been updated with data from .jrn but
+ # .main not yet); if .jrn does not exist then
# they are identical)
# .cdb may not exist; in which case it is to
# be treated as if it existed and was empty
# but this is maximally early (so main must
# exist and be empty since .main is never
# newer than .cdb)
- # if .log exists, it is a cdb native
+ # if .jrn exists, it is a cdb native
# text file _without the trailing newline_;
# its contents override values from .main or .cdb
# if .main.tmp or .cdb.tmp exists it is irrelevant
- # zero length values mean record is deleted (in .log only;
+ # zero length values mean record is deleted (in .jrn only;
# forbidden elsewhere)
# while db is open:
# .lock is locked
- # .log and open hash table contain same info
+ # .jrn and open hash table contain same info
open 0
pathb string
on_info obj
- ?maxage int
- # >0 means entries start with a 16-hex-digit
- # time_t and a single space
- # this time_t _is_ part of the value as seen !
+ ?on_lexminval obj
+ # on_lexminval present and not empty list: provides a
+ # script which returns the current lexminval. In
+ # this case, occasionally,
+ # on_lexminval will be called and then entries whose
+ # value is lexically strictly less than lexminval
+ # will be deleted automatically. The comparison
+ # is bytewise on the UTF-8 representations.
=> iddata(&cdbtcl_rwdatabases)
open-okjunk RWSCF_OKJUNK
pathb string
on_info obj
- ?maxage int
+ ?on_lexminval obj
=> iddata(&cdbtcl_rwdatabases)
# on_info <event> <xinfo>...:
# on_info open-clean <statistics-info-string>
# on_info open-dirty-start <statistics-info-string>
- # on_info open-dirty-junk <problem-info-string>
+ # on_info open-dirty-junk <problem-info-string> \
+ # <problem-error-code-list>
# on_info open-dirty-done <statistics-info-string>
# on_info compact-start <statistics-info-string>
# on_info compact-done <statistics-info-string>
lookup-hb 0
db iddata(&cdbtcl_rwdatabases)
key string
- ?def hb
- => hb
+ ?def obj
+ => obj
delete 0
db iddata(&cdbtcl_rwdatabases)
key string
db iddata(&cdbtcl_rwdatabases)
compact-check 0
db iddata(&cdbtcl_rwdatabases)
- compact-onupdate 0 # this is the default
+ compact-auto 0
+ # this is the default
db iddata(&cdbtcl_rwdatabases)
compact-explicit 0
db iddata(&cdbtcl_rwdatabases)