| OLD | NEW |
| 1 // Copyright 2015 The LUCI Authors. | 1 // Copyright 2015 The LUCI Authors. |
| 2 // | 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
| 6 // | 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // | 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 } | 194 } |
| 195 ret = ret.Ancestor(p.Value.(*datastore.Key)) | 195 ret = ret.Ancestor(p.Value.(*datastore.Key)) |
| 196 } else { | 196 } else { |
| 197 filt := prop + "=" | 197 filt := prop + "=" |
| 198 for _, v := range vals { | 198 for _, v := range vals { |
| 199 p, err := dsF2RProp(d.aeCtx, v) | 199 p, err := dsF2RProp(d.aeCtx, v) |
| 200 if err != nil { | 200 if err != nil { |
| 201 return nil, err | 201 return nil, err |
| 202 } | 202 } |
| 203 | 203 |
| 204 // Filter doesn't like ByteString, even though B
yteString is the indexed |
| 205 // counterpart of []byte... sigh. |
| 206 if ds, ok := p.Value.(datastore.ByteString); ok
{ |
| 207 p.Value = []byte(ds) |
| 208 } |
| 204 ret = ret.Filter(filt, p.Value) | 209 ret = ret.Filter(filt, p.Value) |
| 205 } | 210 } |
| 206 } | 211 } |
| 207 } | 212 } |
| 208 | 213 |
| 209 if lnam, lop, lprop := fq.IneqFilterLow(); lnam != "" { | 214 if lnam, lop, lprop := fq.IneqFilterLow(); lnam != "" { |
| 210 p, err := dsF2RProp(d.aeCtx, lprop) | 215 p, err := dsF2RProp(d.aeCtx, lprop) |
| 211 if err != nil { | 216 if err != nil { |
| 212 return nil, err | 217 return nil, err |
| 213 } | 218 } |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 return struct{}{} | 326 return struct{}{} |
| 322 } | 327 } |
| 323 return nil | 328 return nil |
| 324 } | 329 } |
| 325 | 330 |
| 326 func (d *rdsImpl) Constraints() ds.Constraints { return constraints.DS() } | 331 func (d *rdsImpl) Constraints() ds.Constraints { return constraints.DS() } |
| 327 | 332 |
| 328 func (d *rdsImpl) GetTestable() ds.Testable { | 333 func (d *rdsImpl) GetTestable() ds.Testable { |
| 329 return nil | 334 return nil |
| 330 } | 335 } |
| OLD | NEW |