From 0dbc2b346f0a6ded88a9a23520911c9996caa205 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 1 Nov 2018 15:06:47 +0100 Subject: add stub --- btree/bt.go | 1 + db.go | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ hash/hash.go | 1 + recno/rec.go | 1 + 4 files changed, 56 insertions(+) create mode 100644 btree/bt.go create mode 100644 db.go create mode 100644 hash/hash.go create mode 100644 recno/rec.go 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 -- cgit v1.2.3