OSDN Git Service

move DB interface to dbutils
[bytom/vapor.git] / database / dbutils / db_interface.go
diff --git a/database/dbutils/db_interface.go b/database/dbutils/db_interface.go
new file mode 100644 (file)
index 0000000..40ef295
--- /dev/null
@@ -0,0 +1,34 @@
+package dbutils
+
+type DB interface {
+       Get([]byte) []byte
+       Set([]byte, []byte)
+       SetSync([]byte, []byte)
+       Delete([]byte)
+       DeleteSync([]byte)
+       Close()
+       NewBatch() Batch
+       Iterator() Iterator
+       IteratorPrefix([]byte) Iterator
+
+       // For debugging
+       Print()
+       Stats() map[string]string
+}
+
+type Batch interface {
+       Set(key, value []byte)
+       Delete(key []byte)
+       Write()
+}
+
+type Iterator interface {
+       Next() bool
+
+       Key() []byte
+       Value() []byte
+       Seek([]byte) bool
+
+       Release()
+       Error() error
+}