Make hashOf a function

This commit is contained in:
kortschak 2014-08-27 23:25:50 +09:30
parent d8866478df
commit a22eb42482
3 changed files with 36 additions and 36 deletions

View file

@ -136,18 +136,28 @@ func bucketFor(d [4]quad.Direction) []byte {
return []byte{d[0].Prefix(), d[1].Prefix(), d[2].Prefix(), d[3].Prefix()}
}
func hashOf(s string) []byte {
h := hashPool.Get().(hash.Hash)
h.Reset()
defer hashPool.Put(h)
key := make([]byte, 0, hashSize)
h.Write([]byte(s))
key = h.Sum(key)
return key
}
func (qs *QuadStore) createKeyFor(d [4]quad.Direction, q quad.Quad) []byte {
key := make([]byte, 0, (hashSize * 4))
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]))...)
key = append(key, hashOf(q.Get(d[0]))...)
key = append(key, hashOf(q.Get(d[1]))...)
key = append(key, hashOf(q.Get(d[2]))...)
key = append(key, hashOf(q.Get(d[3]))...)
return key
}
func (qs *QuadStore) createValueKeyFor(s string) []byte {
key := make([]byte, 0, hashSize)
key = append(key, qs.hashOf(s)...)
key = append(key, hashOf(s)...)
return key
}
@ -379,16 +389,6 @@ func (qs *QuadStore) Quad(k graph.Value) quad.Quad {
return q
}
func (qs *QuadStore) hashOf(s string) []byte {
h := hashPool.Get().(hash.Hash)
h.Reset()
defer hashPool.Put(h)
key := make([]byte, 0, hashSize)
h.Write([]byte(s))
key = h.Sum(key)
return key
}
func (qs *QuadStore) ValueOf(s string) graph.Value {
return &Token{
bucket: nodeBucket,

View file

@ -146,21 +146,31 @@ func (qa *QuadStore) createDeltaKeyFor(d graph.Delta) []byte {
return key
}
func hashOf(s string) []byte {
h := hashPool.Get().(hash.Hash)
h.Reset()
defer hashPool.Put(h)
key := make([]byte, 0, hashSize)
h.Write([]byte(s))
key = h.Sum(key)
return key
}
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.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]))...)
key = append(key, hashOf(q.Get(d[0]))...)
key = append(key, hashOf(q.Get(d[1]))...)
key = append(key, hashOf(q.Get(d[2]))...)
key = append(key, 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.hashOf(s)...)
key = append(key, hashOf(s)...)
return key
}
@ -347,16 +357,6 @@ func (qs *QuadStore) Quad(k graph.Value) quad.Quad {
return q
}
func (qs *QuadStore) hashOf(s string) []byte {
h := hashPool.Get().(hash.Hash)
h.Reset()
defer hashPool.Put(h)
key := make([]byte, 0, hashSize)
h.Write([]byte(s))
key = h.Sum(key)
return key
}
func (qs *QuadStore) ValueOf(s string) graph.Value {
return Token(qs.createValueKeyFor(s))
}

View file

@ -102,14 +102,14 @@ func newQuadStore(addr string, options graph.Options) (graph.QuadStore, error) {
}
func (qs *QuadStore) getIdForQuad(t quad.Quad) string {
id := qs.hashOf(t.Subject)
id += qs.hashOf(t.Predicate)
id += qs.hashOf(t.Object)
id += qs.hashOf(t.Label)
id := hashOf(t.Subject)
id += hashOf(t.Predicate)
id += hashOf(t.Object)
id += hashOf(t.Label)
return id
}
func (qs *QuadStore) hashOf(s string) string {
func 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.hashOf(s)
return hashOf(s)
}
func (qs *QuadStore) NameOf(v graph.Value) string {