summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/inclusion_projection_executor_test.cpp
diff options
context:
space:
mode:
authorLucas de Castro Borges <lucas@gnuabordo.com.br>2025-02-11 15:07:35 -0300
committerLucas de Castro Borges <lucas@gnuabordo.com.br>2025-02-11 15:07:35 -0300
commit4cb8841196d0625dfa3825aa326f071cd27c7b8b (patch)
tree1682a647d4463397c119183369ae6f750d5fdcff /src/mongo/db/exec/inclusion_projection_executor_test.cpp
parentaa03c6362cbaa767638e6eed9b031d86dd2643d1 (diff)
parent8f0827553e09872941945a093b647a4211a9db7f (diff)
Update upstream source from tag 'upstream/6.0.0'master
Update to upstream version '6.0.0' with Debian dir 5604a80ec1c96ca76f25f40d78e6ef855abec322
Diffstat (limited to 'src/mongo/db/exec/inclusion_projection_executor_test.cpp')
-rw-r--r--src/mongo/db/exec/inclusion_projection_executor_test.cpp70
1 files changed, 5 insertions, 65 deletions
diff --git a/src/mongo/db/exec/inclusion_projection_executor_test.cpp b/src/mongo/db/exec/inclusion_projection_executor_test.cpp
index b31899043ca..84ed31a9bb4 100644
--- a/src/mongo/db/exec/inclusion_projection_executor_test.cpp
+++ b/src/mongo/db/exec/inclusion_projection_executor_test.cpp
@@ -814,20 +814,18 @@ TEST_F(InclusionProjectionExecutionTestWithFallBackToDefault,
"i: {$meta: 'recordId'}, "
"j: {$meta: 'indexKey'}, "
"k: {$meta: 'sortKey'}, "
- "l: {$meta: 'searchScoreDetails'}}, "
- "m: {$meta: 'vectorSearchScore'}"));
+ "l: {$meta: 'searchScoreDetails'}}"));
DepsTracker deps;
inclusion->addDependencies(&deps);
ASSERT_EQ(deps.fields.size(), 2UL);
- // We do not add the dependencies for searchScore, searchHighlights, searchScoreDetails, or
- // distance because those values are not stored in the collection (or in mongod at all).
+ // We do not add the dependencies for searchScore, searchHighlights, or searchScoreDetails
+ // because those values are not stored in the collection (or in mongod at all).
ASSERT_FALSE(deps.metadataDeps()[DocumentMetadataFields::kSearchScore]);
ASSERT_FALSE(deps.metadataDeps()[DocumentMetadataFields::kSearchHighlights]);
ASSERT_FALSE(deps.metadataDeps()[DocumentMetadataFields::kSearchScoreDetails]);
- ASSERT_FALSE(deps.metadataDeps()[DocumentMetadataFields::kVectorSearchScore]);
ASSERT_TRUE(deps.metadataDeps()[DocumentMetadataFields::kTextScore]);
ASSERT_TRUE(deps.metadataDeps()[DocumentMetadataFields::kRandVal]);
@@ -849,8 +847,7 @@ TEST_F(InclusionProjectionExecutionTestWithFallBackToDefault, ShouldEvaluateMeta
"i: {$meta: 'recordId'}, "
"j: {$meta: 'indexKey'}, "
"k: {$meta: 'sortKey'}, "
- "l: {$meta: 'searchScoreDetails'}, "
- "m: {$meta: 'vectorSearchScore'}}"));
+ "l: {$meta: 'searchScoreDetails'}}"));
MutableDocument inputDocBuilder(Document{{"a", 1}});
inputDocBuilder.metadata().setTextScore(0.0);
@@ -864,7 +861,6 @@ TEST_F(InclusionProjectionExecutionTestWithFallBackToDefault, ShouldEvaluateMeta
inputDocBuilder.metadata().setSortKey(Value{Document{{"bar", 8}}}, true);
inputDocBuilder.metadata().setSearchScoreDetails(BSON("scoreDetails"
<< "foo"));
- inputDocBuilder.metadata().setVectorSearchScore(9.0);
Document inputDoc = inputDocBuilder.freeze();
auto result = inclusion->applyTransformation(inputDoc);
@@ -872,7 +868,7 @@ TEST_F(InclusionProjectionExecutionTestWithFallBackToDefault, ShouldEvaluateMeta
ASSERT_DOCUMENT_EQ(result,
Document{fromjson("{a: 1, c: 0.0, d: 1.0, e: 2.0, f: 'foo', g: 3.0, "
"h: [4, 5], i: 6, j: {foo: 7}, k: [{bar: 8}], "
- "l: {scoreDetails: 'foo'}, m: 9.0}")});
+ "l: {scoreDetails: 'foo'}}")});
}
//
@@ -1094,62 +1090,6 @@ TEST_F(InclusionProjectionExecutionTestWithFallBackToDefault,
ASSERT_DOCUMENT_EQ(expectedProjection, inclusion->serializeTransformation(boost::none));
}
-TEST_F(InclusionProjectionExecutionTestWithFallBackToDefault,
- ExtractComputedProjectionInProjectShouldNotIncludeId) {
- auto inclusion = makeInclusionProjectionWithDefaultPolicies(
- BSON("a" << BSON("$sum" << BSON_ARRAY("$myMeta"
- << "$_id"))));
-
- auto r = static_cast<InclusionProjectionExecutor*>(inclusion.get())->getRoot();
- const std::set<StringData> reservedNames{};
- auto [addFields, deleteFlag] =
- r->extractComputedProjectionsInProject("myMeta", "meta", reservedNames);
-
- ASSERT_EQ(addFields.nFields(), 0);
- ASSERT_EQ(deleteFlag, false);
-
- auto expectedProjection = Document(fromjson("{_id: true, a: {$sum: ['$myMeta', '$_id']}}"));
- ASSERT_DOCUMENT_EQ(expectedProjection, inclusion->serializeTransformation(boost::none));
-}
-
-TEST_F(InclusionProjectionExecutionTestWithFallBackToDefault,
- ExtractComputedProjectionInProjectShouldNotHideDependentSubFields) {
- auto inclusion = makeInclusionProjectionWithDefaultPolicies(BSON("a"
- << "$myMeta"
- << "b"
- << "$a.x"));
-
- auto r = static_cast<InclusionProjectionExecutor*>(inclusion.get())->getRoot();
- const std::set<StringData> reservedNames{};
- auto [addFields, deleteFlag] =
- r->extractComputedProjectionsInProject("myMeta", "meta", reservedNames);
-
- ASSERT_EQ(addFields.nFields(), 0);
- ASSERT_EQ(deleteFlag, false);
-
- auto expectedProjection = Document(fromjson("{_id: true, a: '$myMeta', b: '$a.x'}"));
- ASSERT_DOCUMENT_EQ(expectedProjection, inclusion->serializeTransformation(boost::none));
-}
-
-TEST_F(InclusionProjectionExecutionTestWithFallBackToDefault,
- ExtractComputedProjectionInProjectShouldNotHideDependentSubFieldsWithDottedSibling) {
- auto inclusion = makeInclusionProjectionWithDefaultPolicies(BSON("a"
- << "$myMeta"
- << "c.b"
- << "$a.x"));
-
- auto r = static_cast<InclusionProjectionExecutor*>(inclusion.get())->getRoot();
- const std::set<StringData> reservedNames{};
- auto [addFields, deleteFlag] =
- r->extractComputedProjectionsInProject("myMeta", "meta", reservedNames);
-
- ASSERT_EQ(addFields.nFields(), 0);
- ASSERT_EQ(deleteFlag, false);
-
- auto expectedProjection = Document(fromjson("{_id: true, a: '$myMeta', c: {b: '$a.x'}}"));
- ASSERT_DOCUMENT_EQ(expectedProjection, inclusion->serializeTransformation(boost::none));
-}
-
TEST_F(InclusionProjectionExecutionTestWithFallBackToDefault, ApplyProjectionAfterSplit) {
auto inclusion = makeInclusionProjectionWithDefaultPolicies(
BSON("a" << true << "computedMeta1"