diff options
| author | Antonin Kral <a.kral@bobek.cz> | 2012-08-29 20:54:51 +0200 |
|---|---|---|
| committer | Antonin Kral <a.kral@bobek.cz> | 2012-08-29 20:54:51 +0200 |
| commit | 83957b73f9177f6e38bd5375bd93ca1f6a47188c (patch) | |
| tree | f20b7d6ac9a9c64ff5bb6b5910a24abbb356b1d5 /jstests/sorth.js | |
| parent | 5071d203970edd4c995493d810abe20987e76fe9 (diff) | |
Imported Upstream version 2.2.0upstream/2.2.0
Diffstat (limited to 'jstests/sorth.js')
| -rw-r--r-- | jstests/sorth.js | 21 |
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 |
