| Index: go/src/infra/gae/libs/gae/prod/datastore_key.go
|
| diff --git a/go/src/infra/gae/libs/gae/prod/datastore_key.go b/go/src/infra/gae/libs/gae/prod/datastore_key.go
|
| index 2b823114f3c6006d2124ba715420fbea9d1d47fe..13a7766ff4b79486685934cc5a61b2567f408482 100644
|
| --- a/go/src/infra/gae/libs/gae/prod/datastore_key.go
|
| +++ b/go/src/infra/gae/libs/gae/prod/datastore_key.go
|
| @@ -17,12 +17,7 @@ type dsKeyImpl struct {
|
|
|
| var _ gae.DSKey = dsKeyImpl{}
|
|
|
| -func (k dsKeyImpl) Equal(other gae.DSKey) bool { return k.Key.Equal(dsF2R(other)) }
|
| -func (k dsKeyImpl) Parent() gae.DSKey { return dsR2F(k.Key.Parent()) }
|
| -func (k dsKeyImpl) Root() gae.DSKey { return helper.DSKeyRoot(k) }
|
| -func (k dsKeyImpl) Valid(ns string, allowSpecial bool) bool {
|
| - return helper.DSKeyValid(k, ns, allowSpecial)
|
| -}
|
| +func (k dsKeyImpl) Parent() gae.DSKey { return dsR2F(k.Key.Parent()) }
|
|
|
| // dsR2F (DS real-to-fake) converts an SDK Key to a gae.DSKey
|
| func dsR2F(k *datastore.Key) gae.DSKey {
|
| @@ -57,6 +52,10 @@ func dsF2R(k gae.DSKey) *datastore.Key {
|
| // trip through the proto encoding.
|
| rkey, err := datastore.DecodeKey(helper.DSKeyEncode(k))
|
| if err != nil {
|
| + // should never happen in a good program, but it's not ignorable, and
|
| + // passing an error back makes this function too cumbersome (and it causes
|
| + // this `if err != nil { panic(err) }` logic to show up in a bunch of
|
| + // places. Realistically, everything should hit the early exit clause above.
|
| panic(err)
|
| }
|
| return rkey
|
|
|