summaryrefslogtreecommitdiff
path: root/jstests/sortg.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/sortg.js')
-rw-r--r--jstests/sortg.js64
1 files changed, 0 insertions, 64 deletions
diff --git a/jstests/sortg.js b/jstests/sortg.js
deleted file mode 100644
index bde4ad70061..00000000000
--- a/jstests/sortg.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Test that a memory exception is triggered for in memory sorts, but not for indexed sorts.
-
-t = db.jstests_sortg;
-t.drop();
-
-big = new Array( 1000000 ).toString()
-
-for( i = 0; i < 100; ++i ) {
- t.save( {b:0} );
-}
-
-for( i = 0; i < 40; ++i ) {
- t.save( {a:0,x:big} );
-}
-
-function memoryException( sortSpec, querySpec ) {
- querySpec = querySpec || {};
- var ex = assert.throws( function() {
- t.find( querySpec ).sort( sortSpec ).batchSize( 1000 ).itcount()
- } );
- assert( ex.toString().match( /sort/ ) );
- assert.throws( function() {
- t.find( querySpec ).sort( sortSpec ).batchSize( 1000 ).explain( true )
- } );
- assert( ex.toString().match( /sort/ ) );
-}
-
-function noMemoryException( sortSpec, querySpec ) {
- querySpec = querySpec || {};
- t.find( querySpec ).sort( sortSpec ).batchSize( 1000 ).itcount();
- t.find( querySpec ).sort( sortSpec ).batchSize( 1000 ).explain( true );
-}
-
-// Unindexed sorts.
-memoryException( {a:1} );
-memoryException( {b:1} );
-
-// Indexed sorts.
-noMemoryException( {_id:1} );
-noMemoryException( {$natural:1} );
-
-assert.eq( 1, t.getIndexes().length );
-
-t.ensureIndex( {a:1} );
-t.ensureIndex( {b:1} );
-t.ensureIndex( {c:1} );
-
-assert.eq( 4, t.getIndexes().length );
-
-// These sorts are now indexed.
-noMemoryException( {a:1} );
-noMemoryException( {b:1} );
-
-// A memory exception is triggered for an unindexed sort involving multiple plans.
-memoryException( {d:1}, {b:null,c:null} );
-
-// With an indexed plan on _id:1 and an unindexed plan on b:1, the indexed plan
-// should succeed even if the unindexed one would exhaust its memory limit.
-noMemoryException( {_id:1}, {b:null} );
-
-// With an unindexed plan on b:1 recorded for a query, the query should be
-// retried when the unindexed plan exhausts its memory limit.
-noMemoryException( {_id:1}, {b:null} );
-t.drop();