Index: service/datastore/query.go |
diff --git a/service/datastore/query.go b/service/datastore/query.go |
index fc30f5f686808fc6f697a000c6be3bdf94e0cf65..8b9bf42bfa7148c6f208eed12e442f9a17150e23 100644 |
--- a/service/datastore/query.go |
+++ b/service/datastore/query.go |
@@ -575,6 +575,12 @@ func (q *Query) Finalize() (*FinalizedQuery, error) { |
ret.distinct = q.distinct && q.project.Len() > 0 |
} |
+ // If we're DISTINCT && have an inequality filter, we must project that |
+ // inequality property as well. |
+ if ret.distinct && ret.ineqFiltProp != "" && !q.project.Has(ret.ineqFiltProp) { |
+ ret.project = append([]string{ret.ineqFiltProp}, ret.project...) |
+ } |
iannucci
2016/02/27 01:04:26
ah... yeah it technically works here too, I was th
|
+ |
seenOrders := stringset.New(len(q.order)) |
// if len(q.order) > 0, we already enforce that the first order |