summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher/matcher.cpp
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2013-05-17 12:15:49 -0400
committerEliot Horowitz <eliot@10gen.com>2013-05-17 12:25:23 -0400
commit321e6eb0ed18154ea1b7ddbbfbd943189a007d4c (patch)
treefa04b1fbbb51ce36182d701b7a5c1279cb29799a /src/mongo/db/matcher/matcher.cpp
parent3bd0695d6d53f2f6d33139086fe45fa6d645de19 (diff)
downloadmongo-321e6eb0ed18154ea1b7ddbbfbd943189a007d4c.tar.gz
SERVER-6400: $ne is not its own operator anymore, $not + $eq
Diffstat (limited to 'src/mongo/db/matcher/matcher.cpp')
-rw-r--r--src/mongo/db/matcher/matcher.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/mongo/db/matcher/matcher.cpp b/src/mongo/db/matcher/matcher.cpp
index 94f5ef32df3..685f5d612c0 100644
--- a/src/mongo/db/matcher/matcher.cpp
+++ b/src/mongo/db/matcher/matcher.cpp
@@ -306,15 +306,24 @@ namespace mongo {
return newIn.release();
}
else if ( cmp->getRHS().type() == jstNULL ) {
- spliceInfo->hasNullEquality = true;
+ //spliceInfo->hasNullEquality = true;
+ return NULL;
}
}
case MatchExpression::LTE:
case MatchExpression::LT:
case MatchExpression::GT:
- case MatchExpression::GTE:
- case MatchExpression::NE:
+ case MatchExpression::GTE: {
+ const ComparisonMatchExpression* cmp =
+ static_cast<const ComparisonMatchExpression*>( full );
+
+ if ( cmp->getRHS().type() == jstNULL ) {
+ // null and indexes don't play nice
+ //spliceInfo->hasNullEquality = true;
+ return NULL;
+ }
+ }
case MatchExpression::REGEX:
case MatchExpression::MOD: {
const LeafMatchExpression* lme = static_cast<const LeafMatchExpression*>( full );