MCPcopy Create free account
hub / github.com/cloudwan/gohan / LockListContext

Method LockListContext

db/sql/cached_transaction.go:158–179  ·  view source on GitHub ↗
(ctx context.Context, s *schema.Schema, filter transaction.Filter, options *transaction.ViewOptions, pg *pagination.Paginator, lockPolicy schema.LockPolicy)

Source from the content-addressed store, hash-verified

156}
157
158func (tx *CachedTransaction) LockListContext(ctx context.Context, s *schema.Schema, filter transaction.Filter, options *transaction.ViewOptions, pg *pagination.Paginator, lockPolicy schema.LockPolicy) (list []*schema.Resource, total uint64, err error) {
159
160 sc := lockListContextHelper(s, filter, options, pg, lockPolicy)
161
162 list, total, wasCached, wasLocked, err := tx.getCached(s.ID, sc)
163 if err != nil {
164 return
165 }
166
167 if !wasCached || !wasLocked {
168 if wasCached {
169 metrics.UpdateCounter(1, "tx.%s.cache.notLocked", s.ID)
170 }
171 metrics.UpdateCounter(1, "tx.%s.cache.missLock", s.ID)
172
173 list, total, err = tx.TxInterface.LockListContext(ctx, s, filter, options, pg, lockPolicy)
174 tx.saveCache(s.ID, sc, list, total, true, err)
175 } else {
176 metrics.UpdateCounter(1, "tx.%s.cache.hitLock", s.ID)
177 }
178 return
179}
180
181func (tx *CachedTransaction) Query(s *schema.Schema, query string, arguments []interface{}) (list []*schema.Resource, err error) {
182 return tx.QueryContext(context.Background(), s, query, arguments)

Callers 2

LockListMethod · 0.95
LockFetchContextMethod · 0.95

Calls 4

getCachedMethod · 0.95
saveCacheMethod · 0.95
lockListContextHelperFunction · 0.85
LockListContextMethod · 0.65

Tested by

no test coverage detected