diff --git a/graph/bolt/quadstore.go b/graph/bolt/quadstore.go index 784e264..16bf75a 100644 --- a/graph/bolt/quadstore.go +++ b/graph/bolt/quadstore.go @@ -138,16 +138,16 @@ func bucketFor(d [4]quad.Direction) []byte { func (qs *QuadStore) createKeyFor(d [4]quad.Direction, q quad.Quad) []byte { key := make([]byte, 0, (hashSize * 4)) - key = append(key, qs.convertStringToByteHash(q.Get(d[0]))...) - key = append(key, qs.convertStringToByteHash(q.Get(d[1]))...) - key = append(key, qs.convertStringToByteHash(q.Get(d[2]))...) - key = append(key, qs.convertStringToByteHash(q.Get(d[3]))...) + key = append(key, qs.hashOf(q.Get(d[0]))...) + key = append(key, qs.hashOf(q.Get(d[1]))...) + key = append(key, qs.hashOf(q.Get(d[2]))...) + key = append(key, qs.hashOf(q.Get(d[3]))...) return key } func (qs *QuadStore) createValueKeyFor(s string) []byte { key := make([]byte, 0, hashSize) - key = append(key, qs.convertStringToByteHash(s)...) + key = append(key, qs.hashOf(s)...) return key } @@ -379,7 +379,7 @@ func (qs *QuadStore) Quad(k graph.Value) quad.Quad { return q } -func (qs *QuadStore) convertStringToByteHash(s string) []byte { +func (qs *QuadStore) hashOf(s string) []byte { h := hashPool.Get().(hash.Hash) h.Reset() defer hashPool.Put(h) diff --git a/graph/leveldb/quadstore.go b/graph/leveldb/quadstore.go index 1727141..c140277 100644 --- a/graph/leveldb/quadstore.go +++ b/graph/leveldb/quadstore.go @@ -150,17 +150,17 @@ func (qs *QuadStore) createKeyFor(d [4]quad.Direction, q quad.Quad) []byte { key := make([]byte, 0, 2+(hashSize*3)) // TODO(kortschak) Remove dependence on String() method. key = append(key, []byte{d[0].Prefix(), d[1].Prefix()}...) - key = append(key, qs.convertStringToByteHash(q.Get(d[0]))...) - key = append(key, qs.convertStringToByteHash(q.Get(d[1]))...) - key = append(key, qs.convertStringToByteHash(q.Get(d[2]))...) - key = append(key, qs.convertStringToByteHash(q.Get(d[3]))...) + key = append(key, qs.hashOf(q.Get(d[0]))...) + key = append(key, qs.hashOf(q.Get(d[1]))...) + key = append(key, qs.hashOf(q.Get(d[2]))...) + key = append(key, qs.hashOf(q.Get(d[3]))...) return key } func (qs *QuadStore) createValueKeyFor(s string) []byte { key := make([]byte, 0, 1+hashSize) key = append(key, []byte("z")...) - key = append(key, qs.convertStringToByteHash(s)...) + key = append(key, qs.hashOf(s)...) return key } @@ -347,7 +347,7 @@ func (qs *QuadStore) Quad(k graph.Value) quad.Quad { return q } -func (qs *QuadStore) convertStringToByteHash(s string) []byte { +func (qs *QuadStore) hashOf(s string) []byte { h := hashPool.Get().(hash.Hash) h.Reset() defer hashPool.Put(h) diff --git a/graph/mongo/quadstore.go b/graph/mongo/quadstore.go index b6bc655..b4e6fd5 100644 --- a/graph/mongo/quadstore.go +++ b/graph/mongo/quadstore.go @@ -102,14 +102,14 @@ func newQuadStore(addr string, options graph.Options) (graph.QuadStore, error) { } func (qs *QuadStore) getIdForQuad(t quad.Quad) string { - id := qs.convertStringToByteHash(t.Subject) - id += qs.convertStringToByteHash(t.Predicate) - id += qs.convertStringToByteHash(t.Object) - id += qs.convertStringToByteHash(t.Label) + id := qs.hashOf(t.Subject) + id += qs.hashOf(t.Predicate) + id += qs.hashOf(t.Object) + id += qs.hashOf(t.Label) return id } -func (qs *QuadStore) convertStringToByteHash(s string) string { +func (qs *QuadStore) hashOf(s string) string { h := hashPool.Get().(hash.Hash) h.Reset() defer hashPool.Put(h) @@ -288,7 +288,7 @@ func (qs *QuadStore) QuadsAllIterator() graph.Iterator { } func (qs *QuadStore) ValueOf(s string) graph.Value { - return qs.convertStringToByteHash(s) + return qs.hashOf(s) } func (qs *QuadStore) NameOf(v graph.Value) string {