diff options
author | clang-format-7.0.1 <adam.martin@10gen.com> | 2019-07-26 18:20:35 -0400 |
---|---|---|
committer | ADAM David Alan Martin <adam.martin@10gen.com> | 2019-07-27 11:02:23 -0400 |
commit | 134a4083953270e8a11430395357fb70a29047ad (patch) | |
tree | dd428e1230e31d92b20b393dfdc17ffe7fa79cb6 /jstests/core/covered_multikey.js | |
parent | 1e46b5049003f427047e723ea5fab15b5a9253ca (diff) | |
download | mongo-134a4083953270e8a11430395357fb70a29047ad.tar.gz |
SERVER-41772 Apply clang-format 7.0.1 to the codebase
Diffstat (limited to 'jstests/core/covered_multikey.js')
-rw-r--r-- | jstests/core/covered_multikey.js | 174 |
1 files changed, 87 insertions, 87 deletions
diff --git a/jstests/core/covered_multikey.js b/jstests/core/covered_multikey.js index ec4ed0d5c0b..cb5e97d8dbb 100644 --- a/jstests/core/covered_multikey.js +++ b/jstests/core/covered_multikey.js @@ -7,103 +7,103 @@ * Test covering behavior for queries over a multikey index. */ (function() { - "use strict"; +"use strict"; - // For making assertions about explain output. - load("jstests/libs/analyze_plan.js"); +// For making assertions about explain output. +load("jstests/libs/analyze_plan.js"); - let coll = db.covered_multikey; - coll.drop(); +let coll = db.covered_multikey; +coll.drop(); - assert.writeOK(coll.insert({a: 1, b: [2, 3, 4]})); - assert.commandWorked(coll.createIndex({a: 1, b: 1})); +assert.writeOK(coll.insert({a: 1, b: [2, 3, 4]})); +assert.commandWorked(coll.createIndex({a: 1, b: 1})); - assert.eq(1, coll.find({a: 1, b: 2}, {_id: 0, a: 1}).itcount()); - assert.eq({a: 1}, coll.findOne({a: 1, b: 2}, {_id: 0, a: 1})); - let explainRes = coll.explain("queryPlanner").find({a: 1, b: 2}, {_id: 0, a: 1}).finish(); - assert(isIxscan(db, explainRes.queryPlanner.winningPlan)); - assert(!planHasStage(db, explainRes.queryPlanner.winningPlan, "FETCH")); +assert.eq(1, coll.find({a: 1, b: 2}, {_id: 0, a: 1}).itcount()); +assert.eq({a: 1}, coll.findOne({a: 1, b: 2}, {_id: 0, a: 1})); +let explainRes = coll.explain("queryPlanner").find({a: 1, b: 2}, {_id: 0, a: 1}).finish(); +assert(isIxscan(db, explainRes.queryPlanner.winningPlan)); +assert(!planHasStage(db, explainRes.queryPlanner.winningPlan, "FETCH")); - coll.drop(); - assert.writeOK(coll.insert({a: 1, b: [1, 2, 3], c: 3, d: 5})); - assert.writeOK(coll.insert({a: [1, 2, 3], b: 1, c: 4, d: 6})); - assert.commandWorked(coll.createIndex({a: 1, b: 1, c: -1, d: -1})); +coll.drop(); +assert.writeOK(coll.insert({a: 1, b: [1, 2, 3], c: 3, d: 5})); +assert.writeOK(coll.insert({a: [1, 2, 3], b: 1, c: 4, d: 6})); +assert.commandWorked(coll.createIndex({a: 1, b: 1, c: -1, d: -1})); - let cursor = coll.find({a: 1, b: 1}, {_id: 0, c: 1, d: 1}).sort({c: -1, d: -1}); - assert.eq(cursor.next(), {c: 4, d: 6}); - assert.eq(cursor.next(), {c: 3, d: 5}); - assert(!cursor.hasNext()); - explainRes = coll.explain("queryPlanner") - .find({a: 1, b: 1}, {_id: 0, c: 1, d: 1}) - .sort({c: -1, d: -1}) - .finish(); - assert(!planHasStage(db, explainRes.queryPlanner.winningPlan, "FETCH")); +let cursor = coll.find({a: 1, b: 1}, {_id: 0, c: 1, d: 1}).sort({c: -1, d: -1}); +assert.eq(cursor.next(), {c: 4, d: 6}); +assert.eq(cursor.next(), {c: 3, d: 5}); +assert(!cursor.hasNext()); +explainRes = coll.explain("queryPlanner") + .find({a: 1, b: 1}, {_id: 0, c: 1, d: 1}) + .sort({c: -1, d: -1}) + .finish(); +assert(!planHasStage(db, explainRes.queryPlanner.winningPlan, "FETCH")); - // Verify that a query cannot be covered over a path which is multikey due to an empty array. - coll.drop(); - assert.writeOK(coll.insert({a: []})); - assert.commandWorked(coll.createIndex({a: 1})); - assert.eq({a: []}, coll.findOne({a: []}, {_id: 0, a: 1})); - explainRes = coll.explain("queryPlanner").find({a: []}, {_id: 0, a: 1}).finish(); - assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "IXSCAN")); - assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "FETCH")); - let ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); - assert.eq(true, ixscanStage.isMultiKey); +// Verify that a query cannot be covered over a path which is multikey due to an empty array. +coll.drop(); +assert.writeOK(coll.insert({a: []})); +assert.commandWorked(coll.createIndex({a: 1})); +assert.eq({a: []}, coll.findOne({a: []}, {_id: 0, a: 1})); +explainRes = coll.explain("queryPlanner").find({a: []}, {_id: 0, a: 1}).finish(); +assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "IXSCAN")); +assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "FETCH")); +let ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); +assert.eq(true, ixscanStage.isMultiKey); - // Verify that a query cannot be covered over a path which is multikey due to a single-element - // array. - coll.drop(); - assert.writeOK(coll.insert({a: [2]})); - assert.commandWorked(coll.createIndex({a: 1})); - assert.eq({a: [2]}, coll.findOne({a: 2}, {_id: 0, a: 1})); - explainRes = coll.explain("queryPlanner").find({a: 2}, {_id: 0, a: 1}).finish(); - assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "IXSCAN")); - assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "FETCH")); - ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); - assert.eq(true, ixscanStage.isMultiKey); +// Verify that a query cannot be covered over a path which is multikey due to a single-element +// array. +coll.drop(); +assert.writeOK(coll.insert({a: [2]})); +assert.commandWorked(coll.createIndex({a: 1})); +assert.eq({a: [2]}, coll.findOne({a: 2}, {_id: 0, a: 1})); +explainRes = coll.explain("queryPlanner").find({a: 2}, {_id: 0, a: 1}).finish(); +assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "IXSCAN")); +assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "FETCH")); +ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); +assert.eq(true, ixscanStage.isMultiKey); - // Verify that a query cannot be covered over a path which is multikey due to a single-element - // array, where the path is made multikey by an update rather than an insert. - coll.drop(); - assert.writeOK(coll.insert({a: 2})); - assert.commandWorked(coll.createIndex({a: 1})); - assert.writeOK(coll.update({}, {$set: {a: [2]}})); - assert.eq({a: [2]}, coll.findOne({a: 2}, {_id: 0, a: 1})); - explainRes = coll.explain("queryPlanner").find({a: 2}, {_id: 0, a: 1}).finish(); - assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "IXSCAN")); - assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "FETCH")); - ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); - assert.eq(true, ixscanStage.isMultiKey); +// Verify that a query cannot be covered over a path which is multikey due to a single-element +// array, where the path is made multikey by an update rather than an insert. +coll.drop(); +assert.writeOK(coll.insert({a: 2})); +assert.commandWorked(coll.createIndex({a: 1})); +assert.writeOK(coll.update({}, {$set: {a: [2]}})); +assert.eq({a: [2]}, coll.findOne({a: 2}, {_id: 0, a: 1})); +explainRes = coll.explain("queryPlanner").find({a: 2}, {_id: 0, a: 1}).finish(); +assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "IXSCAN")); +assert(planHasStage(db, explainRes.queryPlanner.winningPlan, "FETCH")); +ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); +assert.eq(true, ixscanStage.isMultiKey); - // Verify that a trailing empty array makes a 2dsphere index multikey. - coll.drop(); - assert.commandWorked(coll.createIndex({"a.b": 1, c: "2dsphere"})); - assert.writeOK(coll.insert({a: {b: 1}, c: {type: "Point", coordinates: [0, 0]}})); - explainRes = coll.explain().find().hint({"a.b": 1, c: "2dsphere"}).finish(); - ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); - assert.neq(null, ixscanStage); - assert.eq(false, ixscanStage.isMultiKey); - assert.writeOK(coll.insert({a: {b: []}, c: {type: "Point", coordinates: [0, 0]}})); - explainRes = coll.explain().find().hint({"a.b": 1, c: "2dsphere"}).finish(); - ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); - assert.neq(null, ixscanStage); - assert.eq(true, ixscanStage.isMultiKey); +// Verify that a trailing empty array makes a 2dsphere index multikey. +coll.drop(); +assert.commandWorked(coll.createIndex({"a.b": 1, c: "2dsphere"})); +assert.writeOK(coll.insert({a: {b: 1}, c: {type: "Point", coordinates: [0, 0]}})); +explainRes = coll.explain().find().hint({"a.b": 1, c: "2dsphere"}).finish(); +ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); +assert.neq(null, ixscanStage); +assert.eq(false, ixscanStage.isMultiKey); +assert.writeOK(coll.insert({a: {b: []}, c: {type: "Point", coordinates: [0, 0]}})); +explainRes = coll.explain().find().hint({"a.b": 1, c: "2dsphere"}).finish(); +ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); +assert.neq(null, ixscanStage); +assert.eq(true, ixscanStage.isMultiKey); - // Verify that a mid-path empty array makes a 2dsphere index multikey. - coll.drop(); - assert.commandWorked(coll.createIndex({"a.b": 1, c: "2dsphere"})); - assert.writeOK(coll.insert({a: [], c: {type: "Point", coordinates: [0, 0]}})); - explainRes = coll.explain().find().hint({"a.b": 1, c: "2dsphere"}).finish(); - ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); - assert.neq(null, ixscanStage); - assert.eq(true, ixscanStage.isMultiKey); +// Verify that a mid-path empty array makes a 2dsphere index multikey. +coll.drop(); +assert.commandWorked(coll.createIndex({"a.b": 1, c: "2dsphere"})); +assert.writeOK(coll.insert({a: [], c: {type: "Point", coordinates: [0, 0]}})); +explainRes = coll.explain().find().hint({"a.b": 1, c: "2dsphere"}).finish(); +ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); +assert.neq(null, ixscanStage); +assert.eq(true, ixscanStage.isMultiKey); - // Verify that a single-element array makes a 2dsphere index multikey. - coll.drop(); - assert.commandWorked(coll.createIndex({"a.b": 1, c: "2dsphere"})); - assert.writeOK(coll.insert({a: {b: [3]}, c: {type: "Point", coordinates: [0, 0]}})); - explainRes = coll.explain().find().hint({"a.b": 1, c: "2dsphere"}).finish(); - ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); - assert.neq(null, ixscanStage); - assert.eq(true, ixscanStage.isMultiKey); +// Verify that a single-element array makes a 2dsphere index multikey. +coll.drop(); +assert.commandWorked(coll.createIndex({"a.b": 1, c: "2dsphere"})); +assert.writeOK(coll.insert({a: {b: [3]}, c: {type: "Point", coordinates: [0, 0]}})); +explainRes = coll.explain().find().hint({"a.b": 1, c: "2dsphere"}).finish(); +ixscanStage = getPlanStage(explainRes.queryPlanner.winningPlan, "IXSCAN"); +assert.neq(null, ixscanStage); +assert.eq(true, ixscanStage.isMultiKey); }()); |