summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mongo/db/exec/projection_exec.cpp6
-rw-r--r--src/mongo/db/exec/projection_exec.h2
-rw-r--r--src/mongo/db/exec/sort.cpp8
-rw-r--r--src/mongo/db/fts/fts_command_mongod.cpp2
-rw-r--r--src/mongo/db/query/lite_parsed_query.cpp10
-rw-r--r--src/mongo/db/query/lite_parsed_query.h8
-rw-r--r--src/mongo/db/query/lite_parsed_query_test.cpp30
-rw-r--r--src/mongo/db/query/parsed_projection.cpp4
8 files changed, 35 insertions, 35 deletions
diff --git a/src/mongo/db/exec/projection_exec.cpp b/src/mongo/db/exec/projection_exec.cpp
index ae28683d377..7964cd6dd14 100644
--- a/src/mongo/db/exec/projection_exec.cpp
+++ b/src/mongo/db/exec/projection_exec.cpp
@@ -121,8 +121,8 @@ namespace mongo {
}
else if (mongoutils::str::equals(e2.fieldName(), "$meta")) {
verify(String == e2.type());
- if (mongoutils::str::equals(e2.valuestr(), "text")) {
- _meta[e.fieldName()] = META_TEXT;
+ if (mongoutils::str::equals(e2.valuestr(), "textScore")) {
+ _meta[e.fieldName()] = META_TEXT_SCORE;
}
else if (mongoutils::str::equals(e2.valuestr(), "diskloc")) {
_meta[e.fieldName()] = META_DISKLOC;
@@ -323,7 +323,7 @@ namespace mongo {
"near loc proj requested but no data available");
}
}
- else if (META_TEXT == it->second) {
+ else if (META_TEXT_SCORE == it->second) {
if (member->hasComputed(WSM_COMPUTED_TEXT_SCORE)) {
const TextScoreComputedData* score
= static_cast<const TextScoreComputedData*>(
diff --git a/src/mongo/db/exec/projection_exec.h b/src/mongo/db/exec/projection_exec.h
index 95b4396aecb..f1c4712747f 100644
--- a/src/mongo/db/exec/projection_exec.h
+++ b/src/mongo/db/exec/projection_exec.h
@@ -52,7 +52,7 @@ namespace mongo {
* document / query.
*/
enum MetaProjection {
- META_TEXT,
+ META_TEXT_SCORE,
META_GEONEAR_DIST,
META_GEONEAR_POINT,
META_DISKLOC,
diff --git a/src/mongo/db/exec/sort.cpp b/src/mongo/db/exec/sort.cpp
index dd18715a374..de55f0b7a67 100644
--- a/src/mongo/db/exec/sort.cpp
+++ b/src/mongo/db/exec/sort.cpp
@@ -84,10 +84,10 @@ namespace mongo {
comparatorBob.append(elt);
btreeBob.append(elt);
}
- else if (LiteParsedQuery::isTextMeta(elt)) {
+ else if (LiteParsedQuery::isTextScoreMeta(elt)) {
// Sort text score decreasing by default. Field name doesn't matter but we choose
// something that a user shouldn't ever have.
- comparatorBob.append("$meta_text", -1);
+ comparatorBob.append("$metaTextScore", -1);
_sortHasMeta = true;
}
else {
@@ -147,7 +147,7 @@ namespace mongo {
// Merge btree key elt.
mergedKeyBob.append(btreeIt.next());
}
- else if (LiteParsedQuery::isTextMeta(elt)) {
+ else if (LiteParsedQuery::isTextScoreMeta(elt)) {
// Add text score metadata
double score = 0.0;
if (member.hasComputed(WSM_COMPUTED_TEXT_SCORE)) {
@@ -156,7 +156,7 @@ namespace mongo {
member.getComputed(WSM_COMPUTED_TEXT_SCORE));
score = scoreData->getScore();
}
- mergedKeyBob.append("$meta_text", score);
+ mergedKeyBob.append("$metaTextScore", score);
}
}
diff --git a/src/mongo/db/fts/fts_command_mongod.cpp b/src/mongo/db/fts/fts_command_mongod.cpp
index e4ec4b56d95..8ea994fe4a5 100644
--- a/src/mongo/db/fts/fts_command_mongod.cpp
+++ b/src/mongo/db/fts/fts_command_mongod.cpp
@@ -85,7 +85,7 @@ namespace mongo {
BSONObj queryObj = queryBob.obj();
// We sort by the score.
- BSONObj sortSpec = BSON("$s" << BSON("$meta" << "text"));
+ BSONObj sortSpec = BSON("$s" << BSON("$meta" << "textScore"));
// We also project the score into the document and strip it out later during the reformatting
// of the results.
diff --git a/src/mongo/db/query/lite_parsed_query.cpp b/src/mongo/db/query/lite_parsed_query.cpp
index 87ac0f1dda6..1996dd4a189 100644
--- a/src/mongo/db/query/lite_parsed_query.cpp
+++ b/src/mongo/db/query/lite_parsed_query.cpp
@@ -90,8 +90,8 @@ namespace mongo {
}
// static
- bool LiteParsedQuery::isTextMeta(BSONElement elt) {
- // elt must be foo: {$meta: "text"}
+ bool LiteParsedQuery::isTextScoreMeta(BSONElement elt) {
+ // elt must be foo: {$meta: "textScore"}
if (mongo::Object != elt.type()) {
return false;
}
@@ -108,7 +108,7 @@ namespace mongo {
if (mongo::String != metaElt.type()) {
return false;
}
- if (!mongoutils::str::equals("text", metaElt.valuestr())) {
+ if (!mongoutils::str::equals("textScore", metaElt.valuestr())) {
return false;
}
// must have exactly 1 element
@@ -152,7 +152,7 @@ namespace mongo {
BSONObjIterator i(sortObj);
while (i.more()) {
BSONElement e = i.next();
- if (isTextMeta(e)) {
+ if (isTextScoreMeta(e)) {
continue;
}
long long n = e.safeNumberLong();
@@ -169,7 +169,7 @@ namespace mongo {
BSONObjIterator i(sortObj);
while (i.more()) {
BSONElement e = i.next();
- if (isTextMeta(e)) {
+ if (isTextScoreMeta(e)) {
b.append(e);
continue;
}
diff --git a/src/mongo/db/query/lite_parsed_query.h b/src/mongo/db/query/lite_parsed_query.h
index a7eb8e0d195..deab008849e 100644
--- a/src/mongo/db/query/lite_parsed_query.h
+++ b/src/mongo/db/query/lite_parsed_query.h
@@ -66,9 +66,9 @@ namespace mongo {
/**
* Helper function to identify text search sort key
- * Example: {a: {$meta: "text"}}
+ * Example: {a: {$meta: "textScore"}}
*/
- static bool isTextMeta(BSONElement elt);
+ static bool isTextScoreMeta(BSONElement elt);
/**
* Helper function to identify diskLoc projection
@@ -81,7 +81,7 @@ namespace mongo {
* Returns true if each element satisfies one of:
* 1. a number with value 1
* 2. a number with value -1
- * 3. isTextMeta
+ * 3. isTextScoreMeta
*/
static bool isValidSortOrder(const BSONObj& sortObj);
@@ -90,7 +90,7 @@ namespace mongo {
* Each element of the object returned satisfies one of:
* 1. a number with value 1
* 2. a number with value -1
- * 3. isTextMeta
+ * 3. isTextScoreMeta
*/
static BSONObj normalizeSortOrder(const BSONObj& sortObj);
diff --git a/src/mongo/db/query/lite_parsed_query_test.cpp b/src/mongo/db/query/lite_parsed_query_test.cpp
index d2bd886c69f..80c089e25de 100644
--- a/src/mongo/db/query/lite_parsed_query_test.cpp
+++ b/src/mongo/db/query/lite_parsed_query_test.cpp
@@ -120,23 +120,23 @@ namespace {
// Text meta BSON element validation
//
- bool isFirstElementTextMeta(const char* sortStr) {
+ bool isFirstElementTextScoreMeta(const char* sortStr) {
BSONObj sortObj = fromjson(sortStr);
BSONElement elt = sortObj.firstElement();
- bool result = LiteParsedQuery::isTextMeta(elt);
+ bool result = LiteParsedQuery::isTextScoreMeta(elt);
return result;
}
// Check validation of $meta expressions
- TEST(LiteParsedQueryTest, IsTextMeta) {
- // Valid text meta sort
- ASSERT(isFirstElementTextMeta("{a: {$meta: \"text\"}}"));
-
- // Invalid text meta sorts
- ASSERT_FALSE(isFirstElementTextMeta("{a: {$meta: 1}}"));
- ASSERT_FALSE(isFirstElementTextMeta("{a: {$meta: \"image\"}}"));
- ASSERT_FALSE(isFirstElementTextMeta("{a: {$world: \"text\"}}"));
- ASSERT_FALSE(isFirstElementTextMeta("{a: {$meta: \"text\", b: 1}}"));
+ TEST(LiteParsedQueryTest, IsTextScoreMeta) {
+ // Valid textScore meta sort
+ ASSERT(isFirstElementTextScoreMeta("{a: {$meta: \"textScore\"}}"));
+
+ // Invalid textScore meta sorts
+ ASSERT_FALSE(isFirstElementTextScoreMeta("{a: {$meta: 1}}"));
+ ASSERT_FALSE(isFirstElementTextScoreMeta("{a: {$meta: \"image\"}}"));
+ ASSERT_FALSE(isFirstElementTextScoreMeta("{a: {$world: \"textScore\"}}"));
+ ASSERT_FALSE(isFirstElementTextScoreMeta("{a: {$meta: \"textScore\", b: 1}}"));
}
void testSortOrder(bool expectedValid, const char* expectedStr, const char* sortStr) {
@@ -161,7 +161,7 @@ namespace {
// In a valid sort order, each element satisfies one of:
// 1. a number with value 1
// 2. a number with value -1
- // 3. isTextMeta
+ // 3. isTextScoreMeta
//
TEST(LiteParsedQueryTest, NormalizeAndValidateSortOrder) {
@@ -169,7 +169,7 @@ namespace {
testSortOrder(true, "{}", "{}");
testSortOrder(true, "{a: 1}", "{a: 1}");
testSortOrder(true, "{a: -1}", "{a: -1}");
- testSortOrder(true, "{a: {$meta: \"text\"}}", "{a: {$meta: \"text\"}}");
+ testSortOrder(true, "{a: {$meta: \"textScore\"}}", "{a: {$meta: \"textScore\"}}");
// Invalid sorts
testSortOrder(false, "{a: 1}", "{a: 100}");
@@ -188,8 +188,8 @@ namespace {
testSortOrder(false, "{a: 1}", "{a: \"bb\"}");
testSortOrder(false, "{a: 1}", "{a: {$meta: 1}}");
testSortOrder(false, "{a: 1}", "{a: {$meta: \"image\"}}");
- testSortOrder(false, "{a: 1}", "{a: {$world: \"text\"}}");
- testSortOrder(false, "{a: 1}", "{a: {$meta: \"text\", b: 1}}");
+ testSortOrder(false, "{a: 1}", "{a: {$world: \"textScore\"}}");
+ testSortOrder(false, "{a: 1}", "{a: {$meta: \"textScore\", b: 1}}");
}
} // namespace
diff --git a/src/mongo/db/query/parsed_projection.cpp b/src/mongo/db/query/parsed_projection.cpp
index b972ca34f9e..02e232343b2 100644
--- a/src/mongo/db/query/parsed_projection.cpp
+++ b/src/mongo/db/query/parsed_projection.cpp
@@ -138,12 +138,12 @@ namespace mongo {
}
// Make sure the argument to $meta is something we recognize.
- // e.g. {x: {$meta: "text"}}
+ // e.g. {x: {$meta: "textScore"}}
if (String != e2.type()) {
return Status(ErrorCodes::BadValue, "unexpected argument to $meta in proj");
}
- if (!mongoutils::str::equals(e2.valuestr(), "text")
+ if (!mongoutils::str::equals(e2.valuestr(), "textScore")
&& !mongoutils::str::equals(e2.valuestr(), "diskloc")
&& !mongoutils::str::equals(e2.valuestr(), "indexKey")
&& !mongoutils::str::equals(e2.valuestr(), "geoNearDistance")