summaryrefslogtreecommitdiff
path: root/jstests/sorth.js
diff options
context:
space:
mode:
authorAntonin Kral <a.kral@bobek.cz>2012-08-29 20:54:51 +0200
committerAntonin Kral <a.kral@bobek.cz>2012-08-29 20:54:51 +0200
commit83957b73f9177f6e38bd5375bd93ca1f6a47188c (patch)
treef20b7d6ac9a9c64ff5bb6b5910a24abbb356b1d5 /jstests/sorth.js
parent5071d203970edd4c995493d810abe20987e76fe9 (diff)
Imported Upstream version 2.2.0upstream/2.2.0
Diffstat (limited to 'jstests/sorth.js')
-rw-r--r--jstests/sorth.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/jstests/sorth.js b/jstests/sorth.js
new file mode 100644
index 00000000000..6a5f6122b2b
--- /dev/null
+++ b/jstests/sorth.js
@@ -0,0 +1,21 @@
+// An in order index is picked over a scan and order index when the in order index has sufficient
+// matches to be picked, see discussion in SERVER-4150.
+
+t = db.jstests_sorth;
+t.drop();
+
+t.ensureIndex( {a:1} );
+t.ensureIndex( {b:1} );
+
+function checkIndex( index, n ) {
+ t.remove();
+ for( i = 0; i < n; ++i ) {
+ t.save( {a:i%2,b:i} );
+ }
+ explain = t.find( {a:0,b:{$gte:0}} ).sort( {b:1} ).explain( true );
+ assert.eq( index, explain.cursor );
+}
+
+checkIndex( "BtreeCursor a_1", 100 );
+checkIndex( "BtreeCursor b_1", 500 );
+t.drop(); \ No newline at end of file