aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2018-11-01 15:06:47 +0100
committerDimitri Sokolyuk <demon@dim13.org>2018-11-01 15:06:47 +0100
commit0dbc2b346f0a6ded88a9a23520911c9996caa205 (patch)
tree6f6ac0228b767336f4e00ce2e7209321b3902450
add stub
-rw-r--r--btree/bt.go1
-rw-r--r--db.go53
-rw-r--r--hash/hash.go1
-rw-r--r--recno/rec.go1
4 files changed, 56 insertions, 0 deletions
diff --git a/btree/bt.go b/btree/bt.go
new file mode 100644
index 0000000..3c38a25
--- /dev/null
+++ b/btree/bt.go
@@ -0,0 +1 @@
+package btree
diff --git a/db.go b/db.go
new file mode 100644
index 0000000..cf3ea9e
--- /dev/null
+++ b/db.go
@@ -0,0 +1,53 @@
+package db
+
+import "errors"
+
+var (
+ ErrFtype = errors.New("file is incorrectly formatted")
+ ErrInval = errors.New("parameter is incompatible with the current file specification")
+)
+
+type DBType int
+
+const (
+ DBBTree DBType = iota
+ DBHash
+ DBRecno
+)
+
+type Flag int
+
+// Routine flags
+const (
+ RCursor Flag = iota + 1 // del, put, seq
+ _ // unused
+ RFirst // seq
+ RIAfter // put (recno)
+ RIBefore // put (recno)
+ RLast // seq (btree, recno)
+ RNext // seq
+ RNoOverwrite // put
+ RPrev // seq (btree, recno)
+ RSetCursor // put (recno)
+ RRecnoSync // sync (recno)
+)
+
+// DBT is mnemonic for "data base thang"
+type DBT struct {
+ Data interface{}
+ Size int64
+}
+
+type DB interface {
+ Close() error
+ Del(key *DBT, flags uint) error
+ Fd() uintptr
+ Get(key, data *DBT, flags uint) error
+ Put(key, data *DBT, flags uint) error
+ Sync(flags uint) error
+ Seq(key, data *DBT, flags uint) error
+}
+
+func OpenFile(name string, flags, mode int, typ DBType, openinfo interface{}) (DB, error) {
+ return nil, nil
+}
diff --git a/hash/hash.go b/hash/hash.go
new file mode 100644
index 0000000..7adc22f
--- /dev/null
+++ b/hash/hash.go
@@ -0,0 +1 @@
+package hash
diff --git a/recno/rec.go b/recno/rec.go
new file mode 100644
index 0000000..57f331a
--- /dev/null
+++ b/recno/rec.go
@@ -0,0 +1 @@
+package recno