diff options
author | matt dannenberg <matt.dannenberg@10gen.com> | 2013-08-21 13:44:58 -0400 |
---|---|---|
committer | matt dannenberg <matt.dannenberg@10gen.com> | 2013-08-26 18:23:11 -0400 |
commit | e4ccee5ee54f76cd3ecba0b8c55d38fa4ef7b212 (patch) | |
tree | d9166db4fa7c2d3cdcaf84df11044234745b23b0 /src/mongo/db/pipeline/expression.cpp | |
parent | c9cb874f227531c9cffe7e292185a8c8a3e61c32 (diff) | |
download | mongo-e4ccee5ee54f76cd3ecba0b8c55d38fa4ef7b212.tar.gz |
SERVER-10628 change $any to $anyElementTrue, $all to $allElementsTrue, and remove $none
Diffstat (limited to 'src/mongo/db/pipeline/expression.cpp')
-rw-r--r-- | src/mongo/db/pipeline/expression.cpp | 41 |
1 files changed, 10 insertions, 31 deletions
diff --git a/src/mongo/db/pipeline/expression.cpp b/src/mongo/db/pipeline/expression.cpp index e5c09651c47..3fb07d82394 100644 --- a/src/mongo/db/pipeline/expression.cpp +++ b/src/mongo/db/pipeline/expression.cpp @@ -368,9 +368,9 @@ namespace { return "$add"; } - /* ------------------------- ExpressionAll -------------------------- */ + /* ------------------------- ExpressionAllElementsTrue -------------------------- */ - Value ExpressionAll::evaluateInternal(const Variables& vars) const { + Value ExpressionAllElementsTrue::evaluateInternal(const Variables& vars) const { const Value arr = vpOperand[0]->evaluateInternal(vars); uassert(17040, str::stream() << getOpName() << "'s argument must be an array, but is " << typeName(arr.getType()), @@ -384,9 +384,9 @@ namespace { return Value(true); } - REGISTER_EXPRESSION("$all", ExpressionAll::parse); - const char *ExpressionAll::getOpName() const { - return "$all"; + REGISTER_EXPRESSION("$allElementsTrue", ExpressionAllElementsTrue::parse); + const char *ExpressionAllElementsTrue::getOpName() const { + return "$allElementsTrue"; } /* ------------------------- ExpressionAnd ----------------------------- */ @@ -477,9 +477,9 @@ namespace { } - /* ------------------------- ExpressionAny -------------------------- */ + /* ------------------------- ExpressionAnyElementTrue -------------------------- */ - Value ExpressionAny::evaluateInternal(const Variables& vars) const { + Value ExpressionAnyElementTrue::evaluateInternal(const Variables& vars) const { const Value arr = vpOperand[0]->evaluateInternal(vars); uassert(17041, str::stream() << getOpName() << "'s argument must be an array, but is " << typeName(arr.getType()), @@ -493,9 +493,9 @@ namespace { return Value(false); } - REGISTER_EXPRESSION("$any", ExpressionAny::parse); - const char *ExpressionAny::getOpName() const { - return "$any"; + REGISTER_EXPRESSION("$anyElementTrue", ExpressionAnyElementTrue::parse); + const char *ExpressionAnyElementTrue::getOpName() const { + return "$anyElementTrue"; } /* -------------------- ExpressionCoerceToBool ------------------------- */ @@ -2009,27 +2009,6 @@ namespace { return Value(DOC(getOpName() << array)); } - /* ------------------------- ExpressionNone -------------------------- */ - - Value ExpressionNone::evaluateInternal(const Variables& vars) const { - const Value arr = vpOperand[0]->evaluateInternal(vars); - uassert(16964, str::stream() << getOpName() << "'s argument must be an array, but is " - << typeName(arr.getType()), - arr.getType() == Array); - const vector<Value>& array = arr.getArray(); - for (vector<Value>::const_iterator it = array.begin(); it != array.end(); ++it) { - if (it->coerceToBool()) { - return Value(false); - } - } - return Value(true); - } - - REGISTER_EXPRESSION("$none", ExpressionNone::parse); - const char *ExpressionNone::getOpName() const { - return "$none"; - } - /* ------------------------- ExpressionNot ----------------------------- */ Value ExpressionNot::evaluateInternal(const Variables& vars) const { |