summaryrefslogtreecommitdiff
path: root/jstests/core/id_sbe.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/id_sbe.js')
-rw-r--r--jstests/core/id_sbe.js82
1 files changed, 0 insertions, 82 deletions
diff --git a/jstests/core/id_sbe.js b/jstests/core/id_sbe.js
deleted file mode 100644
index b00249fab20..00000000000
--- a/jstests/core/id_sbe.js
+++ /dev/null
@@ -1,82 +0,0 @@
-// TODO: Enable "idhack.js" under SBE mode and remove this test once SERVER-51823 is fixed.
-// @tags: [
-// assumes_balancer_off,
-// requires_non_retryable_writes,
-// ]
-(function() {
-"use strict";
-
-const t = db.id_sbe;
-t.drop();
-
-// Include helpers for analyzing explain output.
-load("jstests/libs/analyze_plan.js");
-
-assert.commandWorked(t.insert({_id: {x: 1}, z: 1}));
-assert.commandWorked(t.insert({_id: {x: 2}, z: 2}));
-assert.commandWorked(t.insert({_id: {x: 3}, z: 3}));
-assert.commandWorked(t.insert({_id: 1, z: 4}));
-assert.commandWorked(t.insert({_id: 2, z: 5}));
-assert.commandWorked(t.insert({_id: 3, z: 6}));
-
-assert.eq(2, t.findOne({_id: {x: 2}}).z);
-assert.eq(2, t.find({_id: {$gte: 2}}).count());
-assert.eq(2, t.find({_id: {$gte: 2}}).itcount());
-
-t.update({_id: {x: 2}}, {$set: {z: 7}});
-assert.eq(7, t.findOne({_id: {x: 2}}).z);
-
-t.update({_id: {$gte: 2}}, {$set: {z: 8}}, false, true);
-assert.eq(4, t.findOne({_id: 1}).z);
-assert.eq(8, t.findOne({_id: 2}).z);
-assert.eq(8, t.findOne({_id: 3}).z);
-
-const query = {
- _id: {x: 2}
-};
-let explain = t.find(query).explain(true);
-assert.eq(1, explain.executionStats.nReturned);
-assert.eq(1, explain.executionStats.totalKeysExamined);
-
-//
-// Non-covered projection that use _ids.
-//
-
-t.drop();
-assert.commandWorked(t.insert({_id: 0, a: 0, b: [{c: 1}, {c: 2}]}));
-assert.commandWorked(t.insert({_id: 1, a: 1, b: [{c: 3}, {c: 4}]}));
-
-// Simple inclusion.
-assert.eq({_id: 1, a: 1}, t.find({_id: 1}, {a: 1}).next());
-assert.eq({a: 1}, t.find({_id: 1}, {_id: 0, a: 1}).next());
-assert.eq({_id: 0, a: 0}, t.find({_id: 0}, {_id: 1, a: 1}).next());
-
-// Non-simple: exclusion.
-assert.eq({_id: 1, a: 1}, t.find({_id: 1}, {b: 0}).next());
-assert.eq({_id: 0}, t.find({_id: 0}, {a: 0, b: 0}).next());
-
-// Non-simple: dotted fields.
-assert.eq({b: [{c: 1}, {c: 2}]}, t.find({_id: 0}, {_id: 0, "b.c": 1}).next());
-assert.eq({_id: 1}, t.find({_id: 1}, {"foo.bar": 1}).next());
-
-// Non-simple: elemMatch projection.
-assert.eq({_id: 1, b: [{c: 4}]}, t.find({_id: 1}, {b: {$elemMatch: {c: 4}}}).next());
-
-// Non-simple: .returnKey().
-assert.eq({_id: 1}, t.find({_id: 1}).returnKey().next());
-
-// Non-simple: .returnKey() overrides other projections.
-assert.eq({_id: 1}, t.find({_id: 1}, {a: 1}).returnKey().next());
-
-// Test that equality queries on _id with min() or max() require hint().
-let err = assert.throws(() => t.find({_id: 2}).min({_id: 1}).itcount());
-assert.commandFailedWithCode(err, 51173);
-err = assert.throws(() => t.find({_id: 2}).max({_id: 3}).itcount());
-assert.commandFailedWithCode(err, 51173);
-
-// Test that equality queries on _id respect min() and max().
-assert.eq({_id: 1}, t.find({_id: 1}).hint({_id: 1}).min({_id: 0}).returnKey().next());
-assert.eq({_id: 1}, t.find({_id: 1}).hint({_id: 1}).min({_id: 0}).max({_id: 2}).returnKey().next());
-assert.eq(0, t.find({_id: 1}).hint({_id: 1}).max({_id: 0}).itcount());
-assert.eq(0, t.find({_id: 1}).hint({_id: 1}).min({_id: 2}).itcount());
-})();