MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / loadAndCacheProviders

Function loadAndCacheProviders

blockproducer/storage.go:620–648  ·  view source on GitHub ↗
(st xi.Storage, view *metaState)

Source from the content-addressed store, hash-verified

618}
619
620func loadAndCacheProviders(st xi.Storage, view *metaState) (err error) {
621 var (
622 rows *sql.Rows
623 hex string
624 addr hash.Hash
625 enc []byte
626 )
627
628 if rows, err = st.Reader().Query(`SELECT "address", "encoded" FROM "provider"`); err != nil {
629 return
630 }
631 defer rows.Close()
632
633 for rows.Next() {
634 if err = rows.Scan(&hex, &enc); err != nil {
635 return
636 }
637 if err = hash.Decode(&addr, hex); err != nil {
638 return
639 }
640 var dec = &types.ProviderProfile{}
641 if err = utils.DecodeMsgPack(enc, dec); err != nil {
642 return
643 }
644 view.readonly.provider[proto.AccountAddress(addr)] = dec
645 }
646
647 return
648}
649
650func loadImmutableState(st xi.Storage) (immutable *metaState, err error) {
651 immutable = newMetaState()

Callers 1

loadImmutableStateFunction · 0.85

Calls 8

DecodeFunction · 0.92
DecodeMsgPackFunction · 0.92
AccountAddressTypeAlias · 0.92
QueryMethod · 0.65
ReaderMethod · 0.65
CloseMethod · 0.65
NextMethod · 0.45
ScanMethod · 0.45

Tested by

no test coverage detected