| Index: impl/memory/datastore_index_selection.go
 | 
| diff --git a/impl/memory/datastore_index_selection.go b/impl/memory/datastore_index_selection.go
 | 
| index 9ee0e9a58cf5a19b53ab35a719946eb11c3844ad..89b09271ebcd626c23733de468a053706009091b 100644
 | 
| --- a/impl/memory/datastore_index_selection.go
 | 
| +++ b/impl/memory/datastore_index_selection.go
 | 
| @@ -70,7 +70,7 @@ type indexDefinitionSortable struct {
 | 
|  	// redundant columns! (e.g. (tag, tag) is a perfectly valid prefix, becuase
 | 
|  	// (tag=1, tag=2) is a perfectly valid query).
 | 
|  	eqFilts []ds.IndexColumn
 | 
| -	coll    *memCollection
 | 
| +	coll    memCollection
 | 
|  }
 | 
|  
 | 
|  func (i *indexDefinitionSortable) hasAncestor() bool {
 | 
| @@ -131,7 +131,7 @@ func (idxs indexDefinitionSortableSlice) Less(i, j int) bool {
 | 
|  // If the proposed index is PERFECT (e.g. contains enough columns to cover all
 | 
|  // equality filters, and also has the correct suffix), idxs will be replaced
 | 
|  // with JUST that index, and this will return true.
 | 
| -func (idxs *indexDefinitionSortableSlice) maybeAddDefinition(q *reducedQuery, s *memStore, missingTerms stringset.Set, id *ds.IndexDefinition) bool {
 | 
| +func (idxs *indexDefinitionSortableSlice) maybeAddDefinition(q *reducedQuery, s memStore, missingTerms stringset.Set, id *ds.IndexDefinition) bool {
 | 
|  	// Kindless queries are handled elsewhere.
 | 
|  	if id.Kind != q.kind {
 | 
|  		impossible(
 | 
| @@ -230,7 +230,7 @@ func (idxs *indexDefinitionSortableSlice) maybeAddDefinition(q *reducedQuery, s
 | 
|  // getRelevantIndexes retrieves the relevant indexes which could be used to
 | 
|  // service q. It returns nil if it's not possible to service q with the current
 | 
|  // indexes.
 | 
| -func getRelevantIndexes(q *reducedQuery, s *memStore) (indexDefinitionSortableSlice, error) {
 | 
| +func getRelevantIndexes(q *reducedQuery, s memStore) (indexDefinitionSortableSlice, error) {
 | 
|  	missingTerms := stringset.New(len(q.eqFilters))
 | 
|  	for k := range q.eqFilters {
 | 
|  		if k == "__ancestor__" {
 | 
| @@ -468,7 +468,7 @@ func calculateConstraints(q *reducedQuery) *constraints {
 | 
|  
 | 
|  // getIndexes returns a set of iterator definitions. Iterating over these
 | 
|  // will result in matching suffixes.
 | 
| -func getIndexes(q *reducedQuery, s *memStore) ([]*iterDefinition, error) {
 | 
| +func getIndexes(q *reducedQuery, s memStore) ([]*iterDefinition, error) {
 | 
|  	relevantIdxs := indexDefinitionSortableSlice(nil)
 | 
|  	if q.kind == "" {
 | 
|  		if coll := s.GetCollection("ents:" + q.ns); coll != nil {
 | 
| 
 |