handle id cids in internal versions of view/get
This commit is contained in:
parent
f5ae10e3d1
commit
870a47f55d
@ -1316,11 +1316,20 @@ func (s *SplitStore) walkObjectIncomplete(c cid.Cid, walked *cid.Set, f, missing
|
|||||||
}
|
}
|
||||||
|
|
||||||
// internal version used by walk
|
// internal version used by walk
|
||||||
func (s *SplitStore) view(cid cid.Cid, cb func([]byte) error) error {
|
func (s *SplitStore) view(c cid.Cid, cb func([]byte) error) error {
|
||||||
err := s.hot.View(cid, cb)
|
if isIdentiyCid(c) {
|
||||||
|
data, err := decodeIdentityCid(c)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return cb(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
err := s.hot.View(c, cb)
|
||||||
switch err {
|
switch err {
|
||||||
case bstore.ErrNotFound:
|
case bstore.ErrNotFound:
|
||||||
return s.cold.View(cid, cb)
|
return s.cold.View(c, cb)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return err
|
return err
|
||||||
@ -1328,6 +1337,10 @@ func (s *SplitStore) view(cid cid.Cid, cb func([]byte) error) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *SplitStore) has(c cid.Cid) (bool, error) {
|
func (s *SplitStore) has(c cid.Cid) (bool, error) {
|
||||||
|
if isIdentiyCid(c) {
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
|
||||||
has, err := s.hot.Has(c)
|
has, err := s.hot.Has(c)
|
||||||
|
|
||||||
if has || err != nil {
|
if has || err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user