Rename AddValue

This commit is contained in:
kortschak 2014-07-02 12:17:33 +09:30
parent d87e227ff3
commit 447a835b93
13 changed files with 61 additions and 61 deletions

View file

@ -117,7 +117,7 @@ type Iterator interface {
type FixedIterator interface { type FixedIterator interface {
Iterator Iterator
AddValue(Value) Add(Value)
} }
type IteratorStats struct { type IteratorStats struct {

View file

@ -26,7 +26,7 @@ import (
func TestIteratorPromotion(t *testing.T) { func TestIteratorPromotion(t *testing.T) {
all := NewInt64(1, 3) all := NewInt64(1, 3)
fixed := newFixed() fixed := newFixed()
fixed.AddValue(3) fixed.Add(3)
a := NewAnd() a := NewAnd()
a.AddSubIterator(all) a.AddSubIterator(all)
a.AddSubIterator(fixed) a.AddSubIterator(fixed)

View file

@ -23,7 +23,7 @@ import (
// Make sure that tags work on the And. // Make sure that tags work on the And.
func TestTag(t *testing.T) { func TestTag(t *testing.T) {
fix1 := newFixed() fix1 := newFixed()
fix1.AddValue(234) fix1.Add(234)
fix1.AddTag("foo") fix1.AddTag("foo")
and := NewAnd() and := NewAnd()
and.AddSubIterator(fix1) and.AddSubIterator(fix1)
@ -56,14 +56,14 @@ func TestTag(t *testing.T) {
// Do a simple itersection of fixed values. // Do a simple itersection of fixed values.
func TestAndAndFixedIterators(t *testing.T) { func TestAndAndFixedIterators(t *testing.T) {
fix1 := newFixed() fix1 := newFixed()
fix1.AddValue(1) fix1.Add(1)
fix1.AddValue(2) fix1.Add(2)
fix1.AddValue(3) fix1.Add(3)
fix1.AddValue(4) fix1.Add(4)
fix2 := newFixed() fix2 := newFixed()
fix2.AddValue(3) fix2.Add(3)
fix2.AddValue(4) fix2.Add(4)
fix2.AddValue(5) fix2.Add(5)
and := NewAnd() and := NewAnd()
and.AddSubIterator(fix1) and.AddSubIterator(fix1)
and.AddSubIterator(fix2) and.AddSubIterator(fix2)
@ -97,14 +97,14 @@ func TestAndAndFixedIterators(t *testing.T) {
// but there should be nothing to Next() // but there should be nothing to Next()
func TestNonOverlappingFixedIterators(t *testing.T) { func TestNonOverlappingFixedIterators(t *testing.T) {
fix1 := newFixed() fix1 := newFixed()
fix1.AddValue(1) fix1.Add(1)
fix1.AddValue(2) fix1.Add(2)
fix1.AddValue(3) fix1.Add(3)
fix1.AddValue(4) fix1.Add(4)
fix2 := newFixed() fix2 := newFixed()
fix2.AddValue(5) fix2.Add(5)
fix2.AddValue(6) fix2.Add(6)
fix2.AddValue(7) fix2.Add(7)
and := NewAnd() and := NewAnd()
and.AddSubIterator(fix1) and.AddSubIterator(fix1)
and.AddSubIterator(fix2) and.AddSubIterator(fix2)

View file

@ -71,7 +71,7 @@ func (it *Fixed) Close() {}
func (it *Fixed) Clone() graph.Iterator { func (it *Fixed) Clone() graph.Iterator {
out := NewFixedIteratorWithCompare(it.cmp) out := NewFixedIteratorWithCompare(it.cmp)
for _, val := range it.values { for _, val := range it.values {
out.AddValue(val) out.Add(val)
} }
out.CopyTagsFrom(it) out.CopyTagsFrom(it)
return out return out
@ -79,7 +79,7 @@ func (it *Fixed) Clone() graph.Iterator {
// Add a value to the iterator. The array now contains this value. // Add a value to the iterator. The array now contains this value.
// TODO(barakmich): This ought to be a set someday, disallowing repeated values. // TODO(barakmich): This ought to be a set someday, disallowing repeated values.
func (it *Fixed) AddValue(v graph.Value) { func (it *Fixed) Add(v graph.Value) {
it.values = append(it.values, v) it.values = append(it.values, v)
} }

View file

@ -23,11 +23,11 @@ import (
func TestLinksTo(t *testing.T) { func TestLinksTo(t *testing.T) {
ts := new(TestTripleStore) ts := new(TestTripleStore)
tsFixed := newFixed() tsFixed := newFixed()
tsFixed.AddValue(2) tsFixed.Add(2)
ts.On("ValueOf", "cool").Return(1) ts.On("ValueOf", "cool").Return(1)
ts.On("TripleIterator", graph.Object, 1).Return(tsFixed) ts.On("TripleIterator", graph.Object, 1).Return(tsFixed)
fixed := newFixed() fixed := newFixed()
fixed.AddValue(ts.ValueOf("cool")) fixed.Add(ts.ValueOf("cool"))
lto := NewLinksTo(ts, fixed, graph.Object) lto := NewLinksTo(ts, fixed, graph.Object)
val, ok := lto.Next() val, ok := lto.Next()
if !ok { if !ok {

View file

@ -40,14 +40,14 @@ func TestOrIteratorBasics(t *testing.T) {
Convey("Given an Or Iterator of two fixed iterators", t, func() { Convey("Given an Or Iterator of two fixed iterators", t, func() {
orIt = NewOr() orIt = NewOr()
fixed1 := newFixed() fixed1 := newFixed()
fixed1.AddValue(1) fixed1.Add(1)
fixed1.AddValue(2) fixed1.Add(2)
fixed1.AddValue(3) fixed1.Add(3)
fixed2 := newFixed() fixed2 := newFixed()
fixed2.AddValue(3) fixed2.Add(3)
fixed2.AddValue(9) fixed2.Add(9)
fixed2.AddValue(20) fixed2.Add(20)
fixed2.AddValue(21) fixed2.Add(21)
orIt.AddSubIterator(fixed1) orIt.AddSubIterator(fixed1)
orIt.AddSubIterator(fixed2) orIt.AddSubIterator(fixed2)
@ -88,14 +88,14 @@ func TestShortCircuitingOrBasics(t *testing.T) {
Convey("Given a short-circuiting Or of two fixed iterators", t, func() { Convey("Given a short-circuiting Or of two fixed iterators", t, func() {
orIt = NewShortCircuitOr() orIt = NewShortCircuitOr()
fixed1 := newFixed() fixed1 := newFixed()
fixed1.AddValue(1) fixed1.Add(1)
fixed1.AddValue(2) fixed1.Add(2)
fixed1.AddValue(3) fixed1.Add(3)
fixed2 := newFixed() fixed2 := newFixed()
fixed2.AddValue(3) fixed2.Add(3)
fixed2.AddValue(9) fixed2.Add(9)
fixed2.AddValue(20) fixed2.Add(20)
fixed2.AddValue(21) fixed2.Add(21)
Convey("It should guess its size.", func() { Convey("It should guess its size.", func() {
orIt.AddSubIterator(fixed1) orIt.AddSubIterator(fixed1)

View file

@ -25,8 +25,8 @@ import (
func buildHasaWithTag(ts graph.TripleStore, tag string, target string) *HasA { func buildHasaWithTag(ts graph.TripleStore, tag string, target string) *HasA {
fixed_obj := ts.FixedIterator() fixed_obj := ts.FixedIterator()
fixed_pred := ts.FixedIterator() fixed_pred := ts.FixedIterator()
fixed_obj.AddValue(ts.ValueOf(target)) fixed_obj.Add(ts.ValueOf(target))
fixed_pred.AddValue(ts.ValueOf("status")) fixed_pred.Add(ts.ValueOf("status"))
fixed_obj.AddTag(tag) fixed_obj.AddTag(tag)
lto1 := NewLinksTo(ts, fixed_obj, graph.Object) lto1 := NewLinksTo(ts, fixed_obj, graph.Object)
lto2 := NewLinksTo(ts, fixed_pred, graph.Predicate) lto2 := NewLinksTo(ts, fixed_pred, graph.Predicate)
@ -92,7 +92,7 @@ func TestQueryShape(t *testing.T) {
andInternal.AddSubIterator(hasa1) andInternal.AddSubIterator(hasa1)
andInternal.AddSubIterator(hasa2) andInternal.AddSubIterator(hasa2)
fixed_pred := ts.FixedIterator() fixed_pred := ts.FixedIterator()
fixed_pred.AddValue(ts.ValueOf("name")) fixed_pred.Add(ts.ValueOf("name"))
lto1 := NewLinksTo(ts, andInternal, graph.Subject) lto1 := NewLinksTo(ts, andInternal, graph.Subject)
lto2 := NewLinksTo(ts, fixed_pred, graph.Predicate) lto2 := NewLinksTo(ts, fixed_pred, graph.Predicate)
and := NewAnd() and := NewAnd()

View file

@ -43,11 +43,11 @@ func SimpleValueTripleStore() *TestTripleStore {
func BuildFixedIterator() *Fixed { func BuildFixedIterator() *Fixed {
fixed := newFixed() fixed := newFixed()
fixed.AddValue(0) fixed.Add(0)
fixed.AddValue(1) fixed.Add(1)
fixed.AddValue(2) fixed.Add(2)
fixed.AddValue(3) fixed.Add(3)
fixed.AddValue(4) fixed.Add(4)
return fixed return fixed
} }

View file

@ -399,7 +399,7 @@ func TestOptimize(t *testing.T) {
Convey("With an linksto-fixed pair", func() { Convey("With an linksto-fixed pair", func() {
fixed := ts.FixedIterator() fixed := ts.FixedIterator()
fixed.AddValue(ts.ValueOf("F")) fixed.Add(ts.ValueOf("F"))
fixed.AddTag("internal") fixed.AddTag("internal")
lto = iterator.NewLinksTo(ts, fixed, graph.Object) lto = iterator.NewLinksTo(ts, fixed, graph.Object)

View file

@ -40,13 +40,13 @@ func TestMemstore(t *testing.T) {
func TestIteratorsAndNextResultOrderA(t *testing.T) { func TestIteratorsAndNextResultOrderA(t *testing.T) {
ts := MakeTestingMemstore() ts := MakeTestingMemstore()
fixed := ts.FixedIterator() fixed := ts.FixedIterator()
fixed.AddValue(ts.ValueOf("C")) fixed.Add(ts.ValueOf("C"))
all := ts.NodesAllIterator() all := ts.NodesAllIterator()
lto := iterator.NewLinksTo(ts, all, graph.Object) lto := iterator.NewLinksTo(ts, all, graph.Object)
innerAnd := iterator.NewAnd() innerAnd := iterator.NewAnd()
fixed2 := ts.FixedIterator() fixed2 := ts.FixedIterator()
fixed2.AddValue(ts.ValueOf("follows")) fixed2.Add(ts.ValueOf("follows"))
lto2 := iterator.NewLinksTo(ts, fixed2, graph.Predicate) lto2 := iterator.NewLinksTo(ts, fixed2, graph.Predicate)
innerAnd.AddSubIterator(lto2) innerAnd.AddSubIterator(lto2)
innerAnd.AddSubIterator(lto) innerAnd.AddSubIterator(lto)
@ -98,7 +98,7 @@ func CompareStringSlices(t *testing.T, expected []string, actual []string) {
func TestLinksToOptimization(t *testing.T) { func TestLinksToOptimization(t *testing.T) {
ts := MakeTestingMemstore() ts := MakeTestingMemstore()
fixed := ts.FixedIterator() fixed := ts.FixedIterator()
fixed.AddValue(ts.ValueOf("cool")) fixed.Add(ts.ValueOf("cool"))
lto := iterator.NewLinksTo(ts, fixed, graph.Object) lto := iterator.NewLinksTo(ts, fixed, graph.Object)
lto.AddTag("foo") lto.AddTag("foo")
newIt, changed := lto.Optimize() newIt, changed := lto.Optimize()
@ -122,10 +122,10 @@ func TestRemoveTriple(t *testing.T) {
ts := MakeTestingMemstore() ts := MakeTestingMemstore()
ts.RemoveTriple(&graph.Triple{"E", "follows", "F", ""}) ts.RemoveTriple(&graph.Triple{"E", "follows", "F", ""})
fixed := ts.FixedIterator() fixed := ts.FixedIterator()
fixed.AddValue(ts.ValueOf("E")) fixed.Add(ts.ValueOf("E"))
lto := iterator.NewLinksTo(ts, fixed, graph.Subject) lto := iterator.NewLinksTo(ts, fixed, graph.Subject)
fixed2 := ts.FixedIterator() fixed2 := ts.FixedIterator()
fixed2.AddValue(ts.ValueOf("follows")) fixed2.Add(ts.ValueOf("follows"))
lto2 := iterator.NewLinksTo(ts, fixed2, graph.Predicate) lto2 := iterator.NewLinksTo(ts, fixed2, graph.Predicate)
innerAnd := iterator.NewAnd() innerAnd := iterator.NewAnd()
innerAnd.AddSubIterator(lto2) innerAnd.AddSubIterator(lto2)

View file

@ -197,7 +197,7 @@ func buildIteratorTree(tree *peg.ExpressionTree, ts graph.TripleStore) graph.Ite
n = nodeID[1:] n = nodeID[1:]
} }
fixed := ts.FixedIterator() fixed := ts.FixedIterator()
fixed.AddValue(ts.ValueOf(n)) fixed.Add(ts.ValueOf(n))
out = fixed out = fixed
} }
return out return out

View file

@ -75,7 +75,7 @@ func buildIteratorFromValue(val otto.Value, ts graph.TripleStore) graph.Iterator
switch v := thing.(type) { switch v := thing.(type) {
case string: case string:
it := ts.FixedIterator() it := ts.FixedIterator()
it.AddValue(ts.ValueOf(v)) it.Add(ts.ValueOf(v))
return it return it
default: default:
glog.Errorln("Trying to build unknown primitive value.") glog.Errorln("Trying to build unknown primitive value.")
@ -89,7 +89,7 @@ func buildIteratorFromValue(val otto.Value, ts graph.TripleStore) graph.Iterator
strings := makeListOfStringsFromArrayValue(val.Object()) strings := makeListOfStringsFromArrayValue(val.Object())
it := ts.FixedIterator() it := ts.FixedIterator()
for _, x := range strings { for _, x := range strings {
it.AddValue(ts.ValueOf(x)) it.Add(ts.ValueOf(x))
} }
return it return it
case "Number": case "Number":
@ -101,7 +101,7 @@ func buildIteratorFromValue(val otto.Value, ts graph.TripleStore) graph.Iterator
case "String": case "String":
it := ts.FixedIterator() it := ts.FixedIterator()
str, _ := val.ToString() str, _ := val.ToString()
it.AddValue(ts.ValueOf(str)) it.Add(ts.ValueOf(str))
return it return it
default: default:
glog.Errorln("Trying to handle unsupported Javascript value.") glog.Errorln("Trying to handle unsupported Javascript value.")
@ -172,7 +172,7 @@ func buildIteratorTreeHelper(obj *otto.Object, ts graph.TripleStore, base graph.
} else { } else {
fixed := ts.FixedIterator() fixed := ts.FixedIterator()
for _, name := range stringArgs { for _, name := range stringArgs {
fixed.AddValue(ts.ValueOf(name)) fixed.Add(ts.ValueOf(name))
} }
it = fixed it = fixed
} }
@ -192,7 +192,7 @@ func buildIteratorTreeHelper(obj *otto.Object, ts graph.TripleStore, base graph.
all.AddTag(stringArgs[0]) all.AddTag(stringArgs[0])
} }
predFixed := ts.FixedIterator() predFixed := ts.FixedIterator()
predFixed.AddValue(ts.ValueOf(stringArgs[0])) predFixed.Add(ts.ValueOf(stringArgs[0]))
subAnd := iterator.NewAnd() subAnd := iterator.NewAnd()
subAnd.AddSubIterator(iterator.NewLinksTo(ts, predFixed, graph.Predicate)) subAnd.AddSubIterator(iterator.NewLinksTo(ts, predFixed, graph.Predicate))
subAnd.AddSubIterator(iterator.NewLinksTo(ts, all, graph.Object)) subAnd.AddSubIterator(iterator.NewLinksTo(ts, all, graph.Object))
@ -212,7 +212,7 @@ func buildIteratorTreeHelper(obj *otto.Object, ts graph.TripleStore, base graph.
all.AddTag(stringArgs[0]) all.AddTag(stringArgs[0])
} }
predFixed := ts.FixedIterator() predFixed := ts.FixedIterator()
predFixed.AddValue(ts.ValueOf(stringArgs[0])) predFixed.Add(ts.ValueOf(stringArgs[0]))
subAnd := iterator.NewAnd() subAnd := iterator.NewAnd()
subAnd.AddSubIterator(iterator.NewLinksTo(ts, predFixed, graph.Predicate)) subAnd.AddSubIterator(iterator.NewLinksTo(ts, predFixed, graph.Predicate))
subAnd.AddSubIterator(iterator.NewLinksTo(ts, all, graph.Subject)) subAnd.AddSubIterator(iterator.NewLinksTo(ts, all, graph.Subject))
@ -227,10 +227,10 @@ func buildIteratorTreeHelper(obj *otto.Object, ts graph.TripleStore, base graph.
return iterator.NewNull() return iterator.NewNull()
} }
for _, name := range stringArgs[1:] { for _, name := range stringArgs[1:] {
fixed.AddValue(ts.ValueOf(name)) fixed.Add(ts.ValueOf(name))
} }
predFixed := ts.FixedIterator() predFixed := ts.FixedIterator()
predFixed.AddValue(ts.ValueOf(stringArgs[0])) predFixed.Add(ts.ValueOf(stringArgs[0]))
subAnd := iterator.NewAnd() subAnd := iterator.NewAnd()
subAnd.AddSubIterator(iterator.NewLinksTo(ts, predFixed, graph.Predicate)) subAnd.AddSubIterator(iterator.NewLinksTo(ts, predFixed, graph.Predicate))
subAnd.AddSubIterator(iterator.NewLinksTo(ts, fixed, graph.Object)) subAnd.AddSubIterator(iterator.NewLinksTo(ts, fixed, graph.Object))
@ -263,7 +263,7 @@ func buildIteratorTreeHelper(obj *otto.Object, ts graph.TripleStore, base graph.
case "is": case "is":
fixed := ts.FixedIterator() fixed := ts.FixedIterator()
for _, name := range stringArgs { for _, name := range stringArgs {
fixed.AddValue(ts.ValueOf(name)) fixed.Add(ts.ValueOf(name))
} }
and := iterator.NewAnd() and := iterator.NewAnd()
and.AddSubIterator(fixed) and.AddSubIterator(fixed)

View file

@ -27,7 +27,7 @@ import (
func (q *Query) buildFixed(s string) graph.Iterator { func (q *Query) buildFixed(s string) graph.Iterator {
f := q.ses.ts.FixedIterator() f := q.ses.ts.FixedIterator()
f.AddValue(q.ses.ts.ValueOf(s)) f.Add(q.ses.ts.ValueOf(s))
return f return f
} }
@ -138,7 +138,7 @@ func (q *Query) buildIteratorTreeMapInternal(query map[string]interface{}, path
} }
subAnd := iterator.NewAnd() subAnd := iterator.NewAnd()
predFixed := q.ses.ts.FixedIterator() predFixed := q.ses.ts.FixedIterator()
predFixed.AddValue(q.ses.ts.ValueOf(pred)) predFixed.Add(q.ses.ts.ValueOf(pred))
subAnd.AddSubIterator(iterator.NewLinksTo(q.ses.ts, predFixed, graph.Predicate)) subAnd.AddSubIterator(iterator.NewLinksTo(q.ses.ts, predFixed, graph.Predicate))
if reverse { if reverse {
lto := iterator.NewLinksTo(q.ses.ts, builtIt, graph.Subject) lto := iterator.NewLinksTo(q.ses.ts, builtIt, graph.Subject)