--- /dev/null
+*+tcmdif.*
+*.d
BASE_DIR = ../base
EXTBASE = cdb
-CFILES = cdb
+CFILES = readonly writeable
OTHER_TCTS = ../hbytes/hbytes-base.tct
CPPFLAGS += -I../hbytes
-LDLIBS += ../hbytes/chiark_tcl_hbytes.so -ltinycdb
+LDLIBS += ../hbytes/chiark_tcl_hbytes.so -lcdb
include ../base/extension.make
=> iddata(&cdbtcl_databases)
lookup
db iddata(&cdbtcl_databases)
- key bytearray
- => bytearray
+ key obj
+ => obj
lookup-hb
db iddata(&cdbtcl_databases)
key hb
close
db iddata(&cdbtcl_databases)
-Table cdbwr CdbWr_SubCommand
+Table cdbwr Cdbwr_SubCommand
create-empty
pathb string
# files:
# on_info close <statistics-info-string>
lookup
db iddata(&cdbtcl_rwdatabases)
- key bytearray
- => bytearray
+ key obj
+ => obj
lookup-hb
db iddata(&cdbtcl_rwdatabases)
key hb
=> hb
update
db iddata(&cdbtcl_rwdatabases)
- key bytearray
- value bytearray
+ key obj
+ value obj
update-hb
db iddata(&cdbtcl_rwdatabases)
key hb
value hb
update-quick
db iddata(&cdbtcl_rwdatabases)
- key bytearray
- value bytearray
+ key obj
+ value obj
update-quick-hb
db iddata(&cdbtcl_rwdatabases)
key hb
--- /dev/null
+/*
+ */
+
+#ifndef CHIARK_TCL_CDB_H
+#define CHIARK_TCL_CDB_H
+
+#include "hbytes.h"
+#include "cdb+tcmdif.h"
+
+extern const IdDataSpec cdbtcl_databases, cdbtcl_rwdatabases;
+
+#endif /*CHIARK_TCL_CDB_H*/
--- /dev/null
+/**/
+
+#include "chiark_tcl_cdb.h"
+
+static void destroy_cdb_idtabcb(Tcl_Interp *ip, void *val) { abort(); }
+
+const IdDataSpec cdbtcl_databases= {
+ "cdb-db", "cdb-opendatabases-table", destroy_cdb_idtabcb
+};
--- /dev/null
+/**/
+
+#include "chiark_tcl_cdb.h"
+
+static void destroy_cdbrw_idtabcb(Tcl_Interp *ip, void *val) { abort(); }
+
+const IdDataSpec cdbtcl_rwdatabases= {
+ "cdb-rwdb", "cdb-openrwdatabases-table", destroy_cdbrw_idtabcb
+};