deps(go-datastore) update
This commit updates go-datastore in order to access new LevelDb Close() method License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
Brian Tiger Chow committed
Nov 17, 2014 at 00:42 UTC
5fa31f8e6c6f833ed82426fa583c7b56ba9cdad4
7 files changed
+40
-53
Godeps/Godeps.json
+1
-1
@@ -99,7 +99,7 @@
99
},
100
{
101
"ImportPath": "github.com/jbenet/go-datastore",
102
- "Rev": "da593f5071b3ce60bf45b548193863bc3c885c3c"
102
+ "Rev": "b31aad9b9b22e46d99a270ed5aebb259fab64dcc"
103
},
104
{
105
"ImportPath": "github.com/jbenet/go-is-domain",
Godeps/_workspace/src/github.com/jbenet/go-datastore/Godeps/Godeps.json
+7
-2
@@ -1,6 +1,6 @@
1
{
2
"ImportPath": "github.com/jbenet/go-datastore",
3
- "GoVersion": "go1.3.1",
3
+ "GoVersion": "go1.3.3",
4
"Packages": [
5
"./..."
6
],
@@ -33,11 +33,16 @@
33
},
34
{
35
"ImportPath": "github.com/syndtr/goleveldb/leveldb",
36
- "Rev": "9bca75c48d6c31becfbb127702b425e7226052e3"
36
+ "Rev": "cd2b8f743192883ab9fbc5f070ebda1dc90f3732"
37
},
38
{
39
"ImportPath": "gopkg.in/check.v1",
40
"Rev": "91ae5f88a67b14891cfd43895b01164f6c120420"
41
+ },
42
+ {
43
+ "ImportPath": "launchpad.net/gocheck",
44
+ "Comment": "87",
45
+ "Rev": "gustavo@niemeyer.net-20140225173054-xu9zlkf9kxhvow02"
46
}
47
]
48
}
Godeps/_workspace/src/github.com/jbenet/go-datastore/Makefile
+9
@@ -1,6 +1,12 @@
1
build:
2
go build
3
4
+# saves/vendors third-party dependencies to Godeps/_workspace
5
+# -r flag rewrites import paths to use the vendored path
6
+# ./... performs operation on all packages in tree
7
+vendor: godep
8
+ godep save -r ./...
9
+
10
deps:
11
go get ./...
12
@@ -10,3 +16,6 @@ watch:
16
# for portability, use watchmedo -- pip install watchmedo
17
@watchmedo shell-command --patterns="*.go;" --recursive \
18
--command='make' .
19
+
20
+godep:
21
+ go get github.com/tools/godep
Godeps/_workspace/src/github.com/jbenet/go-datastore/fs/fs_test.go
+4
-18
@@ -2,7 +2,6 @@ package fs_test
2
3
import (
4
"bytes"
5
- "sort"
5
"testing"
6
7
ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore"
@@ -13,7 +12,10 @@ import (
12
// Hook up gocheck into the "go test" runner.
13
func Test(t *testing.T) { TestingT(t) }
14
16
-type DSSuite struct{}
15
+type DSSuite struct {
16
+ dir string
17
+ ds ds.Datastore
18
+}
19
20
var _ = Suite(&DSSuite{})
21
@@ -52,22 +54,6 @@ func (ks *DSSuite) TestBasic(c *C) {
54
c.Check(err, Equals, nil)
55
c.Check(bytes.Equal(v.([]byte), []byte(k.String())), Equals, true)
56
}
55
-
56
- listA, errA := mpds.KeyList()
57
- listB, errB := ktds.KeyList()
58
- c.Check(errA, Equals, nil)
59
- c.Check(errB, Equals, nil)
60
- c.Check(len(listA), Equals, len(listB))
61
-
62
- // sort them cause yeah.
63
- sort.Sort(ds.KeySlice(listA))
64
- sort.Sort(ds.KeySlice(listB))
65
-
66
- for i, kA := range listA {
67
- kB := listB[i]
68
- c.Check(pair.Invert(kA), Equals, kB)
69
- c.Check(kA, Equals, pair.Convert(kB))
70
- }
57
}
58
59
func strsToKeys(strs []string) []ds.Key {
Godeps/_workspace/src/github.com/jbenet/go-datastore/leveldb/datastore.go
+18
-12
@@ -1,19 +1,25 @@
1
package leveldb
2
3
import (
4
+ "io"
5
+
6
ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore"
7
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb"
8
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/syndtr/goleveldb/leveldb/opt"
9
)
10
9
-// Datastore uses a standard Go map for internal storage.
10
-type Datastore struct {
11
+type Datastore interface {
12
+ ds.ThreadSafeDatastore
13
+ io.Closer
14
+}
15
+
16
+type datastore struct {
17
DB *leveldb.DB
18
}
19
20
type Options opt.Options
21
16
-func NewDatastore(path string, opts *Options) (ds.ThreadSafeDatastore, error) {
22
+func NewDatastore(path string, opts *Options) (Datastore, error) {
23
var nopts opt.Options
24
if opts != nil {
25
nopts = opt.Options(*opts)
@@ -23,7 +29,7 @@ func NewDatastore(path string, opts *Options) (ds.ThreadSafeDatastore, error) {
29
return nil, err
30
}
31
26
- return &Datastore{
32
+ return &datastore{
33
DB: db,
34
}, nil
35
}
@@ -32,7 +38,7 @@ func NewDatastore(path string, opts *Options) (ds.ThreadSafeDatastore, error) {
38
//
39
// Note: using sync = false.
40
// see http://godoc.org/github.com/syndtr/goleveldb/leveldb/opt#WriteOptions
35
-func (d *Datastore) Put(key ds.Key, value interface{}) (err error) {
41
+func (d *datastore) Put(key ds.Key, value interface{}) (err error) {
42
val, ok := value.([]byte)
43
if !ok {
44
return ds.ErrInvalidType
@@ -40,7 +46,7 @@ func (d *Datastore) Put(key ds.Key, value interface{}) (err error) {
46
return d.DB.Put(key.Bytes(), val, nil)
47
}
48
43
-func (d *Datastore) Get(key ds.Key) (value interface{}, err error) {
49
+func (d *datastore) Get(key ds.Key) (value interface{}, err error) {
50
val, err := d.DB.Get(key.Bytes(), nil)
51
if err != nil {
52
if err == leveldb.ErrNotFound {
@@ -51,11 +57,11 @@ func (d *Datastore) Get(key ds.Key) (value interface{}, err error) {
57
return val, nil
58
}
59
54
-func (d *Datastore) Has(key ds.Key) (exists bool, err error) {
60
+func (d *datastore) Has(key ds.Key) (exists bool, err error) {
61
return ds.GetBackedHas(d, key)
62
}
63
58
-func (d *Datastore) Delete(key ds.Key) (err error) {
64
+func (d *datastore) Delete(key ds.Key) (err error) {
65
err = d.DB.Delete(key.Bytes(), nil)
66
if err == leveldb.ErrNotFound {
67
return ds.ErrNotFound
@@ -63,18 +69,18 @@ func (d *Datastore) Delete(key ds.Key) (err error) {
69
return err
70
}
71
66
-func (d *Datastore) KeyList() ([]ds.Key, error) {
72
+func (d *datastore) KeyList() ([]ds.Key, error) {
73
i := d.DB.NewIterator(nil, nil)
74
var keys []ds.Key
69
- for ; i.Valid(); i.Next() {
75
+ for i.Next() {
76
keys = append(keys, ds.NewKey(string(i.Key())))
77
}
78
return keys, nil
79
}
80
81
// LevelDB needs to be closed.
76
-func (d *Datastore) Close() (err error) {
82
+func (d *datastore) Close() (err error) {
83
return d.DB.Close()
84
}
85
80
-func (d *Datastore) IsThreadSafe() {}
86
+func (d *datastore) IsThreadSafe() {}
Godeps/_workspace/src/github.com/jbenet/go-datastore/namespace/example_test.go
+1
-1
@@ -24,7 +24,7 @@ func Example() {
24
v3, _ := mp.Get(k3)
25
fmt.Printf("mp.Get %s -> %s\n", k3, v3)
26
// Output:
27
- // ns.Put /beep -> boop
27
+ // ns.Put /beep boop
28
// ns.Get /beep -> boop
29
// mp.Get /foo/bar/beep -> boop
30
}
Godeps/_workspace/src/github.com/jbenet/go-datastore/query.go
deleted
-19
@@ -1,19 +0,0 @@
1
-package datastore
2
-
3
-// type KeyIterator struct {
4
-// HasNext() bool
5
-// Next() interface{}
6
-// }
7
-
8
-// type Query struct {
9
-// }
10
-
11
-/*
12
-QueryDatastores support a Query interface. Queries are used to support
13
-searching for values (beyond simple key-based `Get`s).
14
-*/
15
-// type QueryDatastore interface {
16
-// // Query returns an Iterator of Keys whose Values match criteria
17
-// // expressed in `query`.
18
-// Query(Query) (iter Iterator, err error)
19
-// }