summaryrefslogtreecommitdiff
path: root/jstests/core/inb.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/inb.js')
-rw-r--r--jstests/core/inb.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/jstests/core/inb.js b/jstests/core/inb.js
new file mode 100644
index 00000000000..34ec843d36c
--- /dev/null
+++ b/jstests/core/inb.js
@@ -0,0 +1,19 @@
+// Test $in regular expressions with overlapping index bounds. SERVER-4677
+
+t = db.jstests_inb;
+t.drop();
+
+function checkBoundsAndResults( query ) {
+ assert.eq( [ 'a', 'b' ], t.find( query ).explain().indexBounds.x[0] );
+ assert.eq( 4, t.count( query ) );
+ assert.eq( 4, t.find( query ).itcount() );
+}
+
+t.ensureIndex( {x:1} );
+t.save( {x:'aa'} );
+t.save( {x:'ab'} );
+t.save( {x:'ac'} );
+t.save( {x:'ad'} );
+
+checkBoundsAndResults( {x:{$in:[/^a/,/^ab/]}} );
+checkBoundsAndResults( {x:{$in:[/^ab/,/^a/]}} );