MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / executeViewQuery

Method executeViewQuery

base/collection_view.go:257–279  ·  view source on GitHub ↗
(ctx context.Context, ddoc, name string, params map[string]interface{})

Source from the content-addressed store, hash-verified

255}
256
257func (c *Collection) executeViewQuery(ctx context.Context, ddoc, name string, params map[string]interface{}) (*gocb.ViewResultRaw, error) {
258 viewResult := sgbucket.ViewResult{}
259 viewResult.Rows = sgbucket.ViewRows{}
260
261 viewOpts, optsErr := createViewOptions(ctx, params)
262 if optsErr != nil {
263 return nil, optsErr
264 }
265
266 c.Bucket.waitForAvailQueryOp()
267 goCbViewResult, err := c.Collection.Bucket().ViewQuery(ddoc, name, viewOpts)
268
269 // On timeout, return an typed error
270 if isGoCBQueryTimeoutError(err) {
271 c.Bucket.releaseQueryOp()
272 return nil, ErrViewTimeoutError
273 } else if err != nil {
274 c.Bucket.releaseQueryOp()
275 return nil, pkgerrors.WithStack(err)
276 }
277
278 return goCbViewResult.Raw(), nil
279}
280
281// Applies the viewquery options as specified in the params map to the gocb.ViewOptions
282func createViewOptions(ctx context.Context, params map[string]interface{}) (viewOpts *gocb.ViewOptions, err error) {

Callers 2

ViewMethod · 0.95
ViewQueryMethod · 0.95

Calls 6

createViewOptionsFunction · 0.85
isGoCBQueryTimeoutErrorFunction · 0.85
waitForAvailQueryOpMethod · 0.80
BucketMethod · 0.80
releaseQueryOpMethod · 0.80
ViewQueryMethod · 0.45

Tested by

no test coverage detected