25 lines
632 B
JavaScript
25 lines
632 B
JavaScript
// Test an in memory sort memory assertion after a plan has "taken over" in the query optimizer
|
|
// cursor.
|
|
(function() {
|
|
"use strict";
|
|
|
|
load("jstests/libs/fixture_helpers.js"); // For FixtureHelpers.
|
|
|
|
const t = db.jstests_sortj;
|
|
t.drop();
|
|
|
|
t.createIndex({a: 1});
|
|
|
|
const numShards = FixtureHelpers.numberOfShardsForCollection(t);
|
|
|
|
const big = new Array(100000).toString();
|
|
for (let i = 0; i < 1200 * numShards; ++i) {
|
|
t.save({a: 1, b: big});
|
|
}
|
|
|
|
assert.throwsWithCode(
|
|
() => t.find({a: {$gte: 0}, c: null}).sort({d: 1}).allowDiskUse(false).itcount(),
|
|
ErrorCodes.QueryExceededMemoryLimitNoDiskUseAllowed);
|
|
t.drop();
|
|
})();
|