summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/window_function/partition_iterator_test.cpp
diff options
context:
space:
mode:
authorNick Zolnierz <nicholas.zolnierz@mongodb.com>2021-02-22 21:28:02 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-02-23 02:51:09 +0000
commitd93aff7795f7089e9bdd253db792c6878c4be1cd (patch)
treed295312e90486bd43c2be434dc6b106d238216e9 /src/mongo/db/pipeline/window_function/partition_iterator_test.cpp
parent3274c2a3d916cfc3e73c9020660fe4d0fb45ebf2 (diff)
downloadmongo-d93aff7795f7089e9bdd253db792c6878c4be1cd.tar.gz
Revert "SERVER-54049 Add translation phase for accumulator-style window functions"
This reverts commit 8b27b6710d4db7cefb840309903462ed40007402.
Diffstat (limited to 'src/mongo/db/pipeline/window_function/partition_iterator_test.cpp')
-rw-r--r--src/mongo/db/pipeline/window_function/partition_iterator_test.cpp24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/mongo/db/pipeline/window_function/partition_iterator_test.cpp b/src/mongo/db/pipeline/window_function/partition_iterator_test.cpp
index 7c6f80b3031..f0666f12f39 100644
--- a/src/mongo/db/pipeline/window_function/partition_iterator_test.cpp
+++ b/src/mongo/db/pipeline/window_function/partition_iterator_test.cpp
@@ -84,8 +84,7 @@ TEST_F(PartitionIteratorTest, LookaheadOutOfRangeAccessNewPartition) {
const auto mock = DocumentSourceMock::createForTest(docs, getExpCtx());
auto key = ExpressionFieldPath::createPathFromString(
getExpCtx().get(), "key", getExpCtx()->variablesParseState);
- auto partIter = PartitionIterator(
- getExpCtx().get(), mock.get(), boost::optional<boost::intrusive_ptr<Expression>>(key));
+ auto partIter = PartitionIterator(getExpCtx().get(), mock.get(), *key);
ASSERT_DOCUMENT_EQ(docs[0].getDocument(), *partIter[0]);
ASSERT_DOCUMENT_EQ(docs[1].getDocument(), *partIter[1]);
ASSERT_FALSE(partIter[2]);
@@ -99,8 +98,7 @@ TEST_F(PartitionIteratorTest, AdvanceMovesCurrent) {
const auto mock = DocumentSourceMock::createForTest(docs, getExpCtx());
auto key = ExpressionFieldPath::createPathFromString(
getExpCtx().get(), "key", getExpCtx()->variablesParseState);
- auto partIter = PartitionIterator(
- getExpCtx().get(), mock.get(), boost::optional<boost::intrusive_ptr<Expression>>(key));
+ auto partIter = PartitionIterator(getExpCtx().get(), mock.get(), *key);
ASSERT_DOCUMENT_EQ(docs[0].getDocument(), *partIter[0]);
ASSERT_DOCUMENT_EQ(docs[1].getDocument(), *partIter[1]);
ASSERT_FALSE(partIter[2]);
@@ -118,8 +116,7 @@ TEST_F(PartitionIteratorTest, AdvanceOverPartitionBoundary) {
const auto mock = DocumentSourceMock::createForTest(docs, getExpCtx());
auto key = ExpressionFieldPath::createPathFromString(
getExpCtx().get(), "key", getExpCtx()->variablesParseState);
- auto partIter = PartitionIterator(
- getExpCtx().get(), mock.get(), boost::optional<boost::intrusive_ptr<Expression>>(key));
+ auto partIter = PartitionIterator(getExpCtx().get(), mock.get(), *key);
ASSERT_DOCUMENT_EQ(docs[0].getDocument(), *partIter[0]);
// First advance to the final document in partition with key "1".
ASSERT_ADVANCE_RESULT(PartitionIterator::AdvanceResult::kAdvanced, partIter.advance());
@@ -136,8 +133,7 @@ TEST_F(PartitionIteratorTest, AdvanceResultsInEof) {
const auto mock = DocumentSourceMock::createForTest(docs, getExpCtx());
auto key = ExpressionFieldPath::createPathFromString(
getExpCtx().get(), "key", getExpCtx()->variablesParseState);
- auto partIter = PartitionIterator(
- getExpCtx().get(), mock.get(), boost::optional<boost::intrusive_ptr<Expression>>(key));
+ auto partIter = PartitionIterator(getExpCtx().get(), mock.get(), *key);
ASSERT_DOCUMENT_EQ(docs[0].getDocument(), *partIter[0]);
ASSERT_ADVANCE_RESULT(PartitionIterator::AdvanceResult::kEOF, partIter.advance());
@@ -153,8 +149,7 @@ TEST_F(PartitionIteratorTest, CurrentReturnsCorrectDocumentAsIteratorAdvances) {
const auto mock = DocumentSourceMock::createForTest(docs, getExpCtx());
auto key = ExpressionFieldPath::createPathFromString(
getExpCtx().get(), "key", getExpCtx()->variablesParseState);
- auto partIter = PartitionIterator(
- getExpCtx().get(), mock.get(), boost::optional<boost::intrusive_ptr<Expression>>(key));
+ auto partIter = PartitionIterator(getExpCtx().get(), mock.get(), *key);
ASSERT_DOCUMENT_EQ(docs[0].getDocument(), *partIter[0]);
partIter.advance();
ASSERT_DOCUMENT_EQ(docs[1].getDocument(), *partIter[0]);
@@ -167,8 +162,7 @@ TEST_F(PartitionIteratorTest, EmptyCollectionReturnsEOF) {
const auto mock = DocumentSourceMock::createForTest(docs, getExpCtx());
auto key = ExpressionFieldPath::createPathFromString(
getExpCtx().get(), "key", getExpCtx()->variablesParseState);
- auto partIter = PartitionIterator(
- getExpCtx().get(), mock.get(), boost::optional<boost::intrusive_ptr<Expression>>(key));
+ auto partIter = PartitionIterator(getExpCtx().get(), mock.get(), *key);
ASSERT_FALSE(partIter[0]);
ASSERT_ADVANCE_RESULT(PartitionIterator::AdvanceResult::kEOF, partIter.advance());
}
@@ -179,8 +173,7 @@ TEST_F(PartitionIteratorTest, PartitionByArrayErrs) {
const auto mock = DocumentSourceMock::createForTest(docs, getExpCtx());
auto key = ExpressionFieldPath::createPathFromString(
getExpCtx().get(), "key", getExpCtx()->variablesParseState);
- auto partIter = PartitionIterator(
- getExpCtx().get(), mock.get(), boost::optional<boost::intrusive_ptr<Expression>>(key));
+ auto partIter = PartitionIterator(getExpCtx().get(), mock.get(), *key);
ASSERT_DOCUMENT_EQ(docs[0].getDocument(), *partIter[0]);
ASSERT_THROWS_CODE(*partIter[1], AssertionException, ErrorCodes::TypeMismatch);
}
@@ -191,8 +184,7 @@ TEST_F(PartitionIteratorTest, CurrentOffsetIsCorrectAfterDocumentsAreAccessed) {
const auto mock = DocumentSourceMock::createForTest(docs, getExpCtx());
auto key = ExpressionFieldPath::createPathFromString(
getExpCtx().get(), "a", getExpCtx()->variablesParseState);
- auto partIter = PartitionIterator(
- getExpCtx().get(), mock.get(), boost::optional<boost::intrusive_ptr<Expression>>(key));
+ auto partIter = PartitionIterator(getExpCtx().get(), mock.get(), *key);
ASSERT_EQ(0, partIter.getCurrentOffset());
auto doc = partIter[0];
partIter.advance();