| Index: service/datastore/pls_impl.go
|
| diff --git a/service/datastore/pls_impl.go b/service/datastore/pls_impl.go
|
| index 9a369123c59cf58b2431ab169fa568f2638bcfea..717156c90238a3259535b83ba4da6d9fb44e7cc0 100644
|
| --- a/service/datastore/pls_impl.go
|
| +++ b/service/datastore/pls_impl.go
|
| @@ -340,6 +340,10 @@ func (p *structPLS) GetMeta(key string) (interface{}, error) {
|
| return val, nil
|
| }
|
|
|
| +func (p *structPLS) GetMetaDefault(key string, def interface{}) interface{} {
|
| + return GetMetaDefaultImpl(p.GetMeta, key, def)
|
| +}
|
| +
|
| func (p *structPLS) SetMeta(key string, val interface{}) (err error) {
|
| if err = p.Problem(); err != nil {
|
| return
|
| @@ -539,8 +543,7 @@ func getStructCodecLocked(t reflect.Type) (c *structCodec) {
|
| if st.isSlice {
|
| t = t.Elem()
|
| }
|
| - v := reflect.New(t).Elem().Interface()
|
| - v, _ = UpconvertUnderlyingType(v, t)
|
| + v := UpconvertUnderlyingType(reflect.New(t).Elem().Interface())
|
| if _, err := PropertyTypeOf(v, false); err != nil {
|
| c.problem = me("field %q has invalid type: %s", name, ft)
|
| return
|
|
|