chiark / gitweb /
halfway through implementing mintstamp
[chiark-tcl.git] / cdb / cdb.tct
index 0999af9d94018820df2bc43cd76f78836ddde89e..017b4e63abedb69b96503f61c75b6a5e7cb5756b 100644 (file)
@@ -58,10 +58,18 @@ Table cdbwr Cdbwr_SubCommand
        open 0
                pathb   string
                on_info obj
+               ?on_mintstamp obj
+               # on_mintstamp present and not empty list: provides a
+               #  script which returns the current mintstamp.  This
+               #  means entries start with a 16-hex-digit signed
+               #  integer known as a tstamp; occasionally,
+               #  on_mintstamp will be called and then entries whose
+               #  tstamp is < mintstamp will be deleted automatically.
                =>      iddata(&cdbtcl_rwdatabases)
        open-okjunk RWSCF_OKJUNK
                pathb   string
                on_info obj
+               ?on_mintstamp obj
                =>      iddata(&cdbtcl_rwdatabases)
                # on_info <event> <xinfo>...:
                # on_info open-clean <statistics-info-string>
@@ -73,21 +81,24 @@ Table cdbwr Cdbwr_SubCommand
                # on_info close <statistics-info-string>
        lookup 0
                db      iddata(&cdbtcl_rwdatabases)
-               key     obj
+               key     string
                ?def    obj
                =>      obj
        lookup-hb 0
                db      iddata(&cdbtcl_rwdatabases)
-               key     hb
+               key     string
                ?def    hb
                =>      hb
+       delete 0
+               db      iddata(&cdbtcl_rwdatabases)
+               key     string
        update 0
                db      iddata(&cdbtcl_rwdatabases)
-               key     obj
+               key     string
                value   obj
        update-hb 0
                db      iddata(&cdbtcl_rwdatabases)
-               key     hb
+               key     string
                value   hb
        compact-force 0
                db      iddata(&cdbtcl_rwdatabases)