diff options
author | obscuren <geffobscura@gmail.com> | 2014-02-28 19:21:12 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-02-28 19:21:12 +0800 |
commit | 839bd73fbb525f6c51e4205ce6519b6154cda2f0 (patch) | |
tree | 8bbb80d53425cfdb0391798eea77ff3af09ffe78 /ethdb | |
parent | 30ee32a7254658878b35c6a89e463427f99bd1b4 (diff) | |
parent | 3f7ec1a83fe13dc934d92a405ff01b0be6c04ac0 (diff) | |
download | dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar.gz dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar.bz2 dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar.lz dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar.xz dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.tar.zst dexon-839bd73fbb525f6c51e4205ce6519b6154cda2f0.zip |
Merge branch 'release/0.3.0'
Diffstat (limited to 'ethdb')
-rw-r--r-- | ethdb/database.go | 20 | ||||
-rw-r--r-- | ethdb/memory_database.go | 12 |
2 files changed, 29 insertions, 3 deletions
diff --git a/ethdb/database.go b/ethdb/database.go index 76e4b4e4d..3dbff36de 100644 --- a/ethdb/database.go +++ b/ethdb/database.go @@ -11,8 +11,8 @@ type LDBDatabase struct { db *leveldb.DB } -func NewLDBDatabase() (*LDBDatabase, error) { - dbPath := path.Join(ethutil.Config.ExecPath, "database") +func NewLDBDatabase(name string) (*LDBDatabase, error) { + dbPath := path.Join(ethutil.Config.ExecPath, name) // Open the db db, err := leveldb.OpenFile(dbPath, nil) @@ -36,6 +36,14 @@ func (db *LDBDatabase) Get(key []byte) ([]byte, error) { return db.db.Get(key, nil) } +func (db *LDBDatabase) Delete(key []byte) error { + return db.db.Delete(key, nil) +} + +func (db *LDBDatabase) Db() *leveldb.DB { + return db.db +} + func (db *LDBDatabase) LastKnownTD() []byte { data, _ := db.db.Get([]byte("LastKnownTotalDifficulty"), nil) @@ -46,13 +54,19 @@ func (db *LDBDatabase) LastKnownTD() []byte { return data } +func (db *LDBDatabase) GetKeys() []*ethutil.Key { + data, _ := db.Get([]byte("KeyRing")) + + return []*ethutil.Key{ethutil.NewKeyFromBytes(data)} +} + func (db *LDBDatabase) Close() { // Close the leveldb database db.db.Close() } func (db *LDBDatabase) Print() { - iter := db.db.NewIterator(nil) + iter := db.db.NewIterator(nil, nil) for iter.Next() { key := iter.Key() value := iter.Value() diff --git a/ethdb/memory_database.go b/ethdb/memory_database.go index cd9f24000..b0fa64ed7 100644 --- a/ethdb/memory_database.go +++ b/ethdb/memory_database.go @@ -26,6 +26,18 @@ func (db *MemDatabase) Get(key []byte) ([]byte, error) { return db.db[string(key)], nil } +func (db *MemDatabase) GetKeys() []*ethutil.Key { + data, _ := db.Get([]byte("KeyRing")) + + return []*ethutil.Key{ethutil.NewKeyFromBytes(data)} +} + +func (db *MemDatabase) Delete(key []byte) error { + delete(db.db, string(key)) + + return nil +} + func (db *MemDatabase) Print() { for key, val := range db.db { fmt.Printf("%x(%d): ", key, len(key)) |