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

Function requireCoveredQuery

db/indextest/util.go:88–98  ·  view source on GitHub ↗
(t *testing.T, database *db.Database, statement string, isCovered bool)

Source from the content-addressed store, hash-verified

86}
87
88func requireCoveredQuery(t *testing.T, database *db.Database, statement string, isCovered bool) {
89 n1QLStore, ok := base.AsN1QLStore(database.MetadataStore)
90 require.True(t, ok)
91 plan, explainErr := n1QLStore.ExplainQuery(base.TestCtx(t), statement, nil)
92 require.NoError(t, explainErr, "Error generating explain for %+v", statement)
93
94 covered := db.IsCovered(plan)
95 planJSON, err := base.JSONMarshal(plan)
96 require.NoError(t, err)
97 require.Equal(t, isCovered, covered, "query covered by index; expectedToBeCovered: %t, Plan: %s", isCovered, planJSON)
98}
99
100// setupIndexAndDB creates the indexes for a database like rest.DatabaseInitManager and creates an online test database. The bucket and database will be cleaned up by testing.T.Cleanup.
101func setupIndexAndDB(t *testing.T, opts testIndexCreationOptions) *db.Database {

Callers 1

TestAllPrincipalIDsFunction · 0.85

Calls 6

AsN1QLStoreFunction · 0.92
TestCtxFunction · 0.92
IsCoveredFunction · 0.92
JSONMarshalFunction · 0.92
ExplainQueryMethod · 0.65
EqualMethod · 0.45

Tested by 1

TestAllPrincipalIDsFunction · 0.68