Copy refs and comment on Value
This commit is contained in:
parent
cedaa9cdfa
commit
2bec255b52
2 changed files with 12 additions and 3 deletions
|
|
@ -95,6 +95,12 @@ func (it *Materialize) TagResults(dst map[string]graph.Value) {
|
||||||
func (it *Materialize) Clone() graph.Iterator {
|
func (it *Materialize) Clone() graph.Iterator {
|
||||||
out := NewMaterialize(it.subIt.Clone())
|
out := NewMaterialize(it.subIt.Clone())
|
||||||
out.tags.CopyFrom(it)
|
out.tags.CopyFrom(it)
|
||||||
|
if it.hasRun {
|
||||||
|
out.hasRun = true
|
||||||
|
out.aborted = it.aborted
|
||||||
|
out.values = it.values
|
||||||
|
out.containsMap = it.containsMap
|
||||||
|
}
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,14 +28,17 @@ import (
|
||||||
"github.com/google/cayley/quad"
|
"github.com/google/cayley/quad"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Defines an opaque "triple store value" type. However the backend wishes to
|
// Value defines an opaque "triple store value" type. However the backend wishes
|
||||||
// implement it, a Value is merely a token to a triple or a node that the backing
|
// to implement it, a Value is merely a token to a triple or a node that the
|
||||||
// store itself understands, and the base iterators pass around.
|
// backing store itself understands, and the base iterators pass around.
|
||||||
//
|
//
|
||||||
// For example, in a very traditional, graphd-style graph, these are int64s
|
// For example, in a very traditional, graphd-style graph, these are int64s
|
||||||
// (guids of the primitives). In a very direct sort of graph, these could be
|
// (guids of the primitives). In a very direct sort of graph, these could be
|
||||||
// pointers to structs, or merely triples, or whatever works best for the
|
// pointers to structs, or merely triples, or whatever works best for the
|
||||||
// backing store.
|
// backing store.
|
||||||
|
//
|
||||||
|
// These must be comparable, ie, not arrays or maps, as they may be used as keys
|
||||||
|
// for maps.
|
||||||
type Value interface{}
|
type Value interface{}
|
||||||
|
|
||||||
type TripleStore interface {
|
type TripleStore interface {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue