| Index: impl/memory/datastore_index_selection.go
 | 
| diff --git a/impl/memory/datastore_index_selection.go b/impl/memory/datastore_index_selection.go
 | 
| index d7dfb6f690deb7d6b6bb4cc7b15cd6371ff60e33..d1601ed9e5235ed873d99f4c14d18420a5400d3e 100644
 | 
| --- a/impl/memory/datastore_index_selection.go
 | 
| +++ b/impl/memory/datastore_index_selection.go
 | 
| @@ -317,11 +317,11 @@ func generate(q *reducedQuery, idx *indexDefinitionSortable, c *constraints) *it
 | 
|  	for _, sb := range idx.eqFilts {
 | 
|  		val := c.peel(sb.Property)
 | 
|  		if sb.Descending {
 | 
| -			val = invert(val)
 | 
| +			val = serialize.Invert(val)
 | 
|  		}
 | 
|  		toJoin = append(toJoin, val)
 | 
|  	}
 | 
| -	def.prefix = bjoin(toJoin...)
 | 
| +	def.prefix = serialize.Join(toJoin...)
 | 
|  	def.prefixLen = len(def.prefix)
 | 
|  
 | 
|  	if q.eqFilters["__ancestor__"] != nil && !idx.hasAncestor() {
 | 
| @@ -354,9 +354,9 @@ func generate(q *reducedQuery, idx *indexDefinitionSortable, c *constraints) *it
 | 
|  		// it would be a closed range of EXACTLY this key.
 | 
|  		chopped := []byte(anc[:len(anc)-1])
 | 
|  		if q.suffixFormat[0].Descending {
 | 
| -			chopped = invert(chopped)
 | 
| +			chopped = serialize.Invert(chopped)
 | 
|  		}
 | 
| -		def.prefix = bjoin(def.prefix, chopped)
 | 
| +		def.prefix = serialize.Join(def.prefix, chopped)
 | 
|  
 | 
|  		// Update start and end, since we know that if they contain anything, they
 | 
|  		// contain values for the __key__ field.
 | 
| 
 |