summaryrefslogtreecommitdiff
path: root/src/mongo/db
diff options
context:
space:
mode:
authorDavid Storch <david.storch@mongodb.com>2019-10-01 13:12:08 +0000
committerevergreen <evergreen@mongodb.com>2019-10-01 13:12:08 +0000
commit0cee67ce6909ca653462d4609e47edcc4ac5c1a9 (patch)
tree9f4d249c629e9e11bf7cfb9a2a2e180ad689181a /src/mongo/db
parent15c6c085126f5d459f30191ef736c10607bea3f6 (diff)
downloadmongo-0cee67ce6909ca653462d4609e47edcc4ac5c1a9.tar.gz
SERVER-42302 Move Document/Value library to db/exec/document_value directory.
Document/Value is now used throughout the query execution engine, and therefore should move into the directory which holds query execution code.
Diffstat (limited to 'src/mongo/db')
-rw-r--r--src/mongo/db/commands/current_op.cpp2
-rw-r--r--src/mongo/db/commands/map_reduce_agg.cpp2
-rw-r--r--src/mongo/db/commands/run_aggregate.cpp2
-rw-r--r--src/mongo/db/exec/SConscript20
-rw-r--r--src/mongo/db/exec/document_value/SConscript31
-rw-r--r--src/mongo/db/exec/document_value/document.cpp (renamed from src/mongo/db/pipeline/document.cpp)2
-rw-r--r--src/mongo/db/exec/document_value/document.h (renamed from src/mongo/db/pipeline/document.h)2
-rw-r--r--src/mongo/db/exec/document_value/document_comparator.cpp (renamed from src/mongo/db/pipeline/document_comparator.cpp)2
-rw-r--r--src/mongo/db/exec/document_value/document_comparator.h (renamed from src/mongo/db/pipeline/document_comparator.h)2
-rw-r--r--src/mongo/db/exec/document_value/document_comparator_test.cpp (renamed from src/mongo/db/pipeline/document_comparator_test.cpp)4
-rw-r--r--src/mongo/db/exec/document_value/document_internal.h (renamed from src/mongo/db/pipeline/document_internal.h)4
-rw-r--r--src/mongo/db/exec/document_value/document_metadata_fields.cpp (renamed from src/mongo/db/pipeline/document_metadata_fields.cpp)2
-rw-r--r--src/mongo/db/exec/document_value/document_metadata_fields.h (renamed from src/mongo/db/pipeline/document_metadata_fields.h)2
-rw-r--r--src/mongo/db/exec/document_value/document_metadata_fields_test.cpp (renamed from src/mongo/db/pipeline/document_metadata_fields_test.cpp)4
-rw-r--r--src/mongo/db/exec/document_value/document_value_test.cpp (renamed from src/mongo/db/pipeline/document_value_test.cpp)10
-rw-r--r--src/mongo/db/exec/document_value/document_value_test_util.cpp (renamed from src/mongo/db/pipeline/document_value_test_util.cpp)2
-rw-r--r--src/mongo/db/exec/document_value/document_value_test_util.h (renamed from src/mongo/db/pipeline/document_value_test_util.h)4
-rw-r--r--src/mongo/db/exec/document_value/document_value_test_util_self_test.cpp (renamed from src/mongo/db/pipeline/document_value_test_util_self_test.cpp)2
-rw-r--r--src/mongo/db/exec/document_value/value.cpp (renamed from src/mongo/db/pipeline/value.cpp)4
-rw-r--r--src/mongo/db/exec/document_value/value.h (renamed from src/mongo/db/pipeline/value.h)2
-rw-r--r--src/mongo/db/exec/document_value/value_comparator.cpp (renamed from src/mongo/db/pipeline/value_comparator.cpp)2
-rw-r--r--src/mongo/db/exec/document_value/value_comparator.h (renamed from src/mongo/db/pipeline/value_comparator.h)2
-rw-r--r--src/mongo/db/exec/document_value/value_comparator_test.cpp (renamed from src/mongo/db/pipeline/value_comparator_test.cpp)4
-rw-r--r--src/mongo/db/exec/document_value/value_internal.h (renamed from src/mongo/db/pipeline/value_internal.h)0
-rw-r--r--src/mongo/db/exec/find_projection_executor.h2
-rw-r--r--src/mongo/db/exec/find_projection_executor_test.cpp2
-rw-r--r--src/mongo/db/exec/geo_near.cpp2
-rw-r--r--src/mongo/db/exec/projection.cpp2
-rw-r--r--src/mongo/db/exec/projection_exec.h2
-rw-r--r--src/mongo/db/exec/projection_exec_agg.cpp2
-rw-r--r--src/mongo/db/exec/sort_executor.cpp2
-rw-r--r--src/mongo/db/exec/sort_executor.h2
-rw-r--r--src/mongo/db/exec/sort_key_comparator.h2
-rw-r--r--src/mongo/db/exec/working_set.h4
-rw-r--r--src/mongo/db/exec/working_set_test.cpp4
-rw-r--r--src/mongo/db/index/SConscript5
-rw-r--r--src/mongo/db/index/sort_key_generator_test.cpp2
-rw-r--r--src/mongo/db/ops/write_ops_parsers.h2
-rw-r--r--src/mongo/db/pipeline/SConscript72
-rw-r--r--src/mongo/db/pipeline/accumulation_statement.cpp2
-rw-r--r--src/mongo/db/pipeline/accumulator.h4
-rw-r--r--src/mongo/db/pipeline/accumulator_add_to_set.cpp2
-rw-r--r--src/mongo/db/pipeline/accumulator_avg.cpp4
-rw-r--r--src/mongo/db/pipeline/accumulator_first.cpp2
-rw-r--r--src/mongo/db/pipeline/accumulator_js_test.cpp4
-rw-r--r--src/mongo/db/pipeline/accumulator_last.cpp2
-rw-r--r--src/mongo/db/pipeline/accumulator_merge_objects.cpp2
-rw-r--r--src/mongo/db/pipeline/accumulator_min_max.cpp2
-rw-r--r--src/mongo/db/pipeline/accumulator_push.cpp2
-rw-r--r--src/mongo/db/pipeline/accumulator_std_dev.cpp4
-rw-r--r--src/mongo/db/pipeline/accumulator_sum.cpp2
-rw-r--r--src/mongo/db/pipeline/accumulator_test.cpp4
-rw-r--r--src/mongo/db/pipeline/aggregation_request.cpp4
-rw-r--r--src/mongo/db/pipeline/aggregation_request_test.cpp6
-rw-r--r--src/mongo/db/pipeline/dependencies.h2
-rw-r--r--src/mongo/db/pipeline/dependencies_test.cpp2
-rw-r--r--src/mongo/db/pipeline/document_path_support.cpp4
-rw-r--r--src/mongo/db/pipeline/document_path_support.h6
-rw-r--r--src/mongo/db/pipeline/document_path_support_test.cpp8
-rw-r--r--src/mongo/db/pipeline/document_source.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source.h4
-rw-r--r--src/mongo/db/pipeline/document_source_add_fields_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_bucket_auto_test.cpp6
-rw-r--r--src/mongo/db/pipeline/document_source_bucket_test.cpp8
-rw-r--r--src/mongo/db/pipeline/document_source_change_stream_test.cpp8
-rw-r--r--src/mongo/db/pipeline/document_source_check_resume_token_test.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_count_test.cpp6
-rw-r--r--src/mongo/db/pipeline/document_source_current_op_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_cursor.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_facet.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_facet_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_geo_near.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_geo_near_cursor.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_geo_near_cursor.h2
-rw-r--r--src/mongo/db/pipeline/document_source_geo_near_test.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_graph_lookup.cpp6
-rw-r--r--src/mongo/db/pipeline/document_source_graph_lookup.h2
-rw-r--r--src/mongo/db/pipeline/document_source_graph_lookup_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_group.cpp6
-rw-r--r--src/mongo/db/pipeline/document_source_group_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_internal_shard_filter.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_internal_shard_filter_test.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_limit.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_limit_test.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_lookup.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_lookup.h2
-rw-r--r--src/mongo/db/pipeline/document_source_lookup_change_post_image_test.cpp6
-rw-r--r--src/mongo/db/pipeline/document_source_lookup_test.cpp6
-rw-r--r--src/mongo/db/pipeline/document_source_match.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_match_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_merge_cursors_test.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_merge_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_mock.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_mock_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_out_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_project_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_redact.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_replace_root.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_replace_root.h2
-rw-r--r--src/mongo/db/pipeline/document_source_replace_root_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_sample.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_sample_from_random_cursor.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_sample_from_random_cursor.h2
-rw-r--r--src/mongo/db/pipeline/document_source_sample_test.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_single_document_transformation.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_skip.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_skip_test.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_sort.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_sort_by_count_test.cpp6
-rw-r--r--src/mongo/db/pipeline/document_source_sort_test.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_tee_consumer.cpp2
-rw-r--r--src/mongo/db/pipeline/document_source_unwind.cpp4
-rw-r--r--src/mongo/db/pipeline/document_source_unwind_test.cpp4
-rw-r--r--src/mongo/db/pipeline/expression.cpp4
-rw-r--r--src/mongo/db/pipeline/expression.h4
-rw-r--r--src/mongo/db/pipeline/expression_context.h4
-rw-r--r--src/mongo/db/pipeline/expression_convert_test.cpp4
-rw-r--r--src/mongo/db/pipeline/expression_date_test.cpp2
-rw-r--r--src/mongo/db/pipeline/expression_find_internal_test.cpp2
-rw-r--r--src/mongo/db/pipeline/expression_javascript_test.cpp4
-rw-r--r--src/mongo/db/pipeline/expression_test.cpp6
-rw-r--r--src/mongo/db/pipeline/expression_trigonometric_test.cpp2
-rw-r--r--src/mongo/db/pipeline/granularity_rounder.h2
-rw-r--r--src/mongo/db/pipeline/granularity_rounder_powers_of_two_test.cpp2
-rw-r--r--src/mongo/db/pipeline/granularity_rounder_preferred_numbers_test.cpp4
-rw-r--r--src/mongo/db/pipeline/javascript_execution.h2
-rw-r--r--src/mongo/db/pipeline/lookup_set_cache.h6
-rw-r--r--src/mongo/db/pipeline/lookup_set_cache_test.cpp4
-rw-r--r--src/mongo/db/pipeline/mongo_process_interface.h4
-rw-r--r--src/mongo/db/pipeline/parsed_add_fields_test.cpp6
-rw-r--r--src/mongo/db/pipeline/parsed_aggregation_projection_test.cpp4
-rw-r--r--src/mongo/db/pipeline/parsed_exclusion_projection.cpp4
-rw-r--r--src/mongo/db/pipeline/parsed_exclusion_projection_test.cpp6
-rw-r--r--src/mongo/db/pipeline/parsed_find_projection_test.cpp2
-rw-r--r--src/mongo/db/pipeline/parsed_inclusion_projection_test.cpp6
-rw-r--r--src/mongo/db/pipeline/pipeline.cpp2
-rw-r--r--src/mongo/db/pipeline/pipeline.h2
-rw-r--r--src/mongo/db/pipeline/pipeline_test.cpp4
-rw-r--r--src/mongo/db/pipeline/resume_token.cpp2
-rw-r--r--src/mongo/db/pipeline/resume_token.h4
-rw-r--r--src/mongo/db/pipeline/resume_token_test.cpp2
-rw-r--r--src/mongo/db/pipeline/sequential_document_cache.h2
-rw-r--r--src/mongo/db/pipeline/sequential_document_cache_test.cpp2
-rw-r--r--src/mongo/db/pipeline/stub_mongo_process_interface_lookup_single_document.h2
-rw-r--r--src/mongo/db/pipeline/tee_buffer.cpp2
-rw-r--r--src/mongo/db/pipeline/tee_buffer.h2
-rw-r--r--src/mongo/db/pipeline/tee_buffer_test.cpp4
-rw-r--r--src/mongo/db/pipeline/transformer_interface.h2
-rw-r--r--src/mongo/db/pipeline/value.idl2
-rw-r--r--src/mongo/db/pipeline/variables.h2
-rw-r--r--src/mongo/db/query/SConscript2
-rw-r--r--src/mongo/db/query/projection_parser.cpp2
-rw-r--r--src/mongo/db/query/sort_pattern.h2
-rw-r--r--src/mongo/db/repl/SConscript2
-rw-r--r--src/mongo/db/repl/idempotency_document_structure.cpp2
-rw-r--r--src/mongo/db/repl/idempotency_scalar_generator.cpp2
-rw-r--r--src/mongo/db/repl/idempotency_update_sequence.cpp2
-rw-r--r--src/mongo/db/storage/backup_cursor_state.h2
-rw-r--r--src/mongo/db/update/SConscript2
-rw-r--r--src/mongo/db/update/pipeline_executor_test.cpp2
-rw-r--r--src/mongo/db/update/update_driver.h2
-rw-r--r--src/mongo/db/update/update_executor.h2
-rw-r--r--src/mongo/db/views/resolved_view_test.cpp2
163 files changed, 326 insertions, 304 deletions
diff --git a/src/mongo/db/commands/current_op.cpp b/src/mongo/db/commands/current_op.cpp
index 247a2a6761c..a5c2b1946c5 100644
--- a/src/mongo/db/commands/current_op.cpp
+++ b/src/mongo/db/commands/current_op.cpp
@@ -36,7 +36,7 @@
#include "mongo/db/client.h"
#include "mongo/db/commands/fsync_locked.h"
#include "mongo/db/commands/run_aggregate.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/stats/fill_locker_info.h"
namespace mongo {
diff --git a/src/mongo/db/commands/map_reduce_agg.cpp b/src/mongo/db/commands/map_reduce_agg.cpp
index c8ede42d18d..bd866a1e50d 100644
--- a/src/mongo/db/commands/map_reduce_agg.cpp
+++ b/src/mongo/db/commands/map_reduce_agg.cpp
@@ -42,6 +42,7 @@
#include "mongo/db/commands/map_reduce_agg.h"
#include "mongo/db/commands/map_reduce_javascript_code.h"
#include "mongo/db/db_raii.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/document_source_group.h"
@@ -58,7 +59,6 @@
#include "mongo/db/pipeline/parsed_aggregation_projection_node.h"
#include "mongo/db/pipeline/parsed_inclusion_projection.h"
#include "mongo/db/pipeline/pipeline_d.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/map_reduce_output_format.h"
#include "mongo/db/query/util/make_data_structure.h"
#include "mongo/util/intrusive_counter.h"
diff --git a/src/mongo/db/commands/run_aggregate.cpp b/src/mongo/db/commands/run_aggregate.cpp
index 3ecab3a4b47..5847e6aabed 100644
--- a/src/mongo/db/commands/run_aggregate.cpp
+++ b/src/mongo/db/commands/run_aggregate.cpp
@@ -43,10 +43,10 @@
#include "mongo/db/cursor_manager.h"
#include "mongo/db/db_raii.h"
#include "mongo/db/exec/change_stream_proxy.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/exec/working_set_common.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/pipeline/accumulator.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/document_source_exchange.h"
#include "mongo/db/pipeline/document_source_geo_near.h"
diff --git a/src/mongo/db/exec/SConscript b/src/mongo/db/exec/SConscript
index 021474174f2..8dd4ac5188a 100644
--- a/src/mongo/db/exec/SConscript
+++ b/src/mongo/db/exec/SConscript
@@ -4,6 +4,15 @@ Import("env")
env = env.Clone()
+env.SConscript(
+ dirs=[
+ "document_value",
+ ],
+ exports=[
+ "env",
+ ],
+)
+
# WorkingSet target and associated test
env.Library(
target = "working_set",
@@ -13,8 +22,8 @@ env.Library(
LIBDEPS = [
"$BUILD_DIR/mongo/base",
"$BUILD_DIR/mongo/db/bson/dotted_path_support",
- "$BUILD_DIR/mongo/db/pipeline/document_value",
"$BUILD_DIR/mongo/db/service_context",
+ "document_value/document_value",
],
)
@@ -63,6 +72,11 @@ env.Library(
env.CppUnitTest(
target='db_exec_test',
source=[
+ "document_value/document_comparator_test.cpp",
+ "document_value/document_metadata_fields_test.cpp",
+ "document_value/document_value_test.cpp",
+ "document_value/document_value_test_util_self_test.cpp",
+ "document_value/value_comparator_test.cpp",
"find_projection_executor_test.cpp",
"projection_exec_agg_test.cpp",
"projection_exec_test.cpp",
@@ -74,8 +88,6 @@ env.CppUnitTest(
"$BUILD_DIR/mongo/base",
"$BUILD_DIR/mongo/db/auth/authmocks",
"$BUILD_DIR/mongo/db/projection_exec_agg",
- "$BUILD_DIR/mongo/db/pipeline/document_value",
- "$BUILD_DIR/mongo/db/pipeline/document_value_test_util",
"$BUILD_DIR/mongo/db/query/collation/collator_factory_mock",
"$BUILD_DIR/mongo/db/query/collation/collator_interface_mock",
"$BUILD_DIR/mongo/db/query/query_test_service_context",
@@ -84,6 +96,8 @@ env.CppUnitTest(
"$BUILD_DIR/mongo/db/service_context_d_test_fixture",
"$BUILD_DIR/mongo/dbtests/mocklib",
"$BUILD_DIR/mongo/util/clock_source_mock",
+ "document_value/document_value",
+ "document_value/document_value_test_util",
"working_set",
],
)
diff --git a/src/mongo/db/exec/document_value/SConscript b/src/mongo/db/exec/document_value/SConscript
new file mode 100644
index 00000000000..ddbb7c2f307
--- /dev/null
+++ b/src/mongo/db/exec/document_value/SConscript
@@ -0,0 +1,31 @@
+# -*- mode: python -*-
+
+Import("env")
+
+env.Library(
+ target='document_value',
+ source=[
+ 'document.cpp',
+ 'document_comparator.cpp',
+ 'document_metadata_fields.cpp',
+ 'value.cpp',
+ 'value_comparator.cpp',
+ ],
+ LIBDEPS=[
+ '$BUILD_DIR/mongo/db/pipeline/field_path',
+ '$BUILD_DIR/mongo/base',
+ '$BUILD_DIR/mongo/db/query/datetime/date_time_support',
+ '$BUILD_DIR/mongo/util/intrusive_counter',
+ ]
+ )
+
+env.Library(
+ target='document_value_test_util',
+ source=[
+ 'document_value_test_util.cpp',
+ ],
+ LIBDEPS=[
+ '$BUILD_DIR/mongo/unittest/unittest',
+ 'document_value',
+ ],
+)
diff --git a/src/mongo/db/pipeline/document.cpp b/src/mongo/db/exec/document_value/document.cpp
index 9ffab53c34c..245d58f5a40 100644
--- a/src/mongo/db/pipeline/document.cpp
+++ b/src/mongo/db/exec/document_value/document.cpp
@@ -29,7 +29,7 @@
#include "mongo/platform/basic.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include <boost/functional/hash.hpp>
diff --git a/src/mongo/db/pipeline/document.h b/src/mongo/db/exec/document_value/document.h
index 3be4444c95d..66bc162cb79 100644
--- a/src/mongo/db/pipeline/document.h
+++ b/src/mongo/db/exec/document_value/document.h
@@ -29,7 +29,7 @@
#pragma once
-#include "mongo/db/pipeline/document_internal.h"
+#include "mongo/db/exec/document_value/document_internal.h"
#include <boost/functional/hash.hpp>
#include <boost/intrusive_ptr.hpp>
diff --git a/src/mongo/db/pipeline/document_comparator.cpp b/src/mongo/db/exec/document_value/document_comparator.cpp
index dfa66d55261..4f949e4933e 100644
--- a/src/mongo/db/pipeline/document_comparator.cpp
+++ b/src/mongo/db/exec/document_value/document_comparator.cpp
@@ -29,7 +29,7 @@
#include "mongo/platform/basic.h"
-#include "mongo/db/pipeline/document_comparator.h"
+#include "mongo/db/exec/document_value/document_comparator.h"
#include "mongo/util/assert_util.h"
diff --git a/src/mongo/db/pipeline/document_comparator.h b/src/mongo/db/exec/document_value/document_comparator.h
index 1e10577d482..b666e7de711 100644
--- a/src/mongo/db/pipeline/document_comparator.h
+++ b/src/mongo/db/exec/document_value/document_comparator.h
@@ -30,7 +30,7 @@
#pragma once
#include "mongo/base/string_data.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/stdx/unordered_map.h"
#include "mongo/stdx/unordered_set.h"
diff --git a/src/mongo/db/pipeline/document_comparator_test.cpp b/src/mongo/db/exec/document_value/document_comparator_test.cpp
index bd61735d70c..548cd875fd9 100644
--- a/src/mongo/db/pipeline/document_comparator_test.cpp
+++ b/src/mongo/db/exec/document_value/document_comparator_test.cpp
@@ -29,11 +29,11 @@
#include "mongo/platform/basic.h"
-#include "mongo/db/pipeline/document_comparator.h"
+#include "mongo/db/exec/document_value/document_comparator.h"
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobjbuilder.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/query/collation/collator_interface_mock.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/document_internal.h b/src/mongo/db/exec/document_value/document_internal.h
index b76feefc8e0..2ab4db227e5 100644
--- a/src/mongo/db/pipeline/document_internal.h
+++ b/src/mongo/db/exec/document_value/document_internal.h
@@ -35,8 +35,8 @@
#include <boost/intrusive_ptr.hpp>
#include "mongo/base/static_assert.h"
-#include "mongo/db/pipeline/document_metadata_fields.h"
-#include "mongo/db/pipeline/value.h"
+#include "mongo/db/exec/document_value/document_metadata_fields.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/util/intrusive_counter.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_metadata_fields.cpp b/src/mongo/db/exec/document_value/document_metadata_fields.cpp
index 62617144b03..68b0a0da0d0 100644
--- a/src/mongo/db/pipeline/document_metadata_fields.cpp
+++ b/src/mongo/db/exec/document_value/document_metadata_fields.cpp
@@ -29,7 +29,7 @@
#include "mongo/platform/basic.h"
-#include "mongo/db/pipeline/document_metadata_fields.h"
+#include "mongo/db/exec/document_value/document_metadata_fields.h"
#include "mongo/bson/bsonobjbuilder.h"
diff --git a/src/mongo/db/pipeline/document_metadata_fields.h b/src/mongo/db/exec/document_value/document_metadata_fields.h
index 59db8dc941f..f5104c847de 100644
--- a/src/mongo/db/pipeline/document_metadata_fields.h
+++ b/src/mongo/db/exec/document_value/document_metadata_fields.h
@@ -32,7 +32,7 @@
#include <bitset>
#include "mongo/bson/bsonobj.h"
-#include "mongo/db/pipeline/value.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/record_id.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_metadata_fields_test.cpp b/src/mongo/db/exec/document_value/document_metadata_fields_test.cpp
index fc9c8be8779..b19127ef226 100644
--- a/src/mongo/db/pipeline/document_metadata_fields_test.cpp
+++ b/src/mongo/db/exec/document_value/document_metadata_fields_test.cpp
@@ -31,8 +31,8 @@
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
-#include "mongo/db/pipeline/document_metadata_fields.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
+#include "mongo/db/exec/document_value/document_metadata_fields.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/unittest/bson_test_util.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/document_value_test.cpp b/src/mongo/db/exec/document_value/document_value_test.cpp
index 872743679a4..f3eb99d348e 100644
--- a/src/mongo/db/pipeline/document_value_test.cpp
+++ b/src/mongo/db/exec/document_value/document_value_test.cpp
@@ -32,14 +32,14 @@
#include "mongo/platform/basic.h"
#include "mongo/bson/bson_depth.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_comparator.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/json.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_comparator.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/field_path.h"
-#include "mongo/db/pipeline/value.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/dbtests/dbtests.h"
namespace DocumentTests {
diff --git a/src/mongo/db/pipeline/document_value_test_util.cpp b/src/mongo/db/exec/document_value/document_value_test_util.cpp
index 5fa4f1087e2..3468756fb45 100644
--- a/src/mongo/db/pipeline/document_value_test_util.cpp
+++ b/src/mongo/db/exec/document_value/document_value_test_util.cpp
@@ -29,7 +29,7 @@
#include "mongo/platform/basic.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
namespace mongo {
namespace unittest {
diff --git a/src/mongo/db/pipeline/document_value_test_util.h b/src/mongo/db/exec/document_value/document_value_test_util.h
index 8f71d12b808..b6959a7d17f 100644
--- a/src/mongo/db/pipeline/document_value_test_util.h
+++ b/src/mongo/db/exec/document_value/document_value_test_util.h
@@ -29,8 +29,8 @@
#pragma once
-#include "mongo/db/pipeline/document_comparator.h"
-#include "mongo/db/pipeline/value_comparator.h"
+#include "mongo/db/exec/document_value/document_comparator.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/unittest/unittest.h"
/**
diff --git a/src/mongo/db/pipeline/document_value_test_util_self_test.cpp b/src/mongo/db/exec/document_value/document_value_test_util_self_test.cpp
index b2af70099f9..b7843120263 100644
--- a/src/mongo/db/pipeline/document_value_test_util_self_test.cpp
+++ b/src/mongo/db/exec/document_value/document_value_test_util_self_test.cpp
@@ -29,7 +29,7 @@
#include "mongo/platform/basic.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/query/collation/collator_interface_mock.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/value.cpp b/src/mongo/db/exec/document_value/value.cpp
index a8e3d053153..e1835c64e45 100644
--- a/src/mongo/db/pipeline/value.cpp
+++ b/src/mongo/db/exec/document_value/value.cpp
@@ -29,7 +29,7 @@
#include "mongo/platform/basic.h"
-#include "mongo/db/pipeline/value.h"
+#include "mongo/db/exec/document_value/value.h"
#include <boost/functional/hash.hpp>
#include <cmath>
@@ -40,8 +40,8 @@
#include "mongo/base/simple_string_data_comparator.h"
#include "mongo/bson/bson_depth.h"
#include "mongo/bson/simple_bsonobj_comparator.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/query/datetime/date_time_support.h"
#include "mongo/platform/decimal128.h"
#include "mongo/util/hex.h"
diff --git a/src/mongo/db/pipeline/value.h b/src/mongo/db/exec/document_value/value.h
index 08562f32c4b..ecc84495153 100644
--- a/src/mongo/db/pipeline/value.h
+++ b/src/mongo/db/exec/document_value/value.h
@@ -31,7 +31,7 @@
#include "mongo/base/static_assert.h"
#include "mongo/base/string_data.h"
-#include "mongo/db/pipeline/value_internal.h"
+#include "mongo/db/exec/document_value/value_internal.h"
#include "mongo/util/uuid.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/value_comparator.cpp b/src/mongo/db/exec/document_value/value_comparator.cpp
index 1d295aa8245..7a900df3121 100644
--- a/src/mongo/db/pipeline/value_comparator.cpp
+++ b/src/mongo/db/exec/document_value/value_comparator.cpp
@@ -29,7 +29,7 @@
#include "mongo/platform/basic.h"
-#include "mongo/db/pipeline/value_comparator.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/util/assert_util.h"
diff --git a/src/mongo/db/pipeline/value_comparator.h b/src/mongo/db/exec/document_value/value_comparator.h
index fc4baab0433..0ab008df31d 100644
--- a/src/mongo/db/pipeline/value_comparator.h
+++ b/src/mongo/db/exec/document_value/value_comparator.h
@@ -33,7 +33,7 @@
#include <set>
#include "mongo/base/string_data.h"
-#include "mongo/db/pipeline/value.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/stdx/unordered_map.h"
#include "mongo/stdx/unordered_set.h"
diff --git a/src/mongo/db/pipeline/value_comparator_test.cpp b/src/mongo/db/exec/document_value/value_comparator_test.cpp
index b85126cc5bf..963a29bc11a 100644
--- a/src/mongo/db/pipeline/value_comparator_test.cpp
+++ b/src/mongo/db/exec/document_value/value_comparator_test.cpp
@@ -29,11 +29,11 @@
#include "mongo/platform/basic.h"
-#include "mongo/db/pipeline/value_comparator.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobjbuilder.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/query/collation/collator_interface_mock.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/value_internal.h b/src/mongo/db/exec/document_value/value_internal.h
index 19bded8ea42..19bded8ea42 100644
--- a/src/mongo/db/pipeline/value_internal.h
+++ b/src/mongo/db/exec/document_value/value_internal.h
diff --git a/src/mongo/db/exec/find_projection_executor.h b/src/mongo/db/exec/find_projection_executor.h
index c14e63f7386..695da74cbec 100644
--- a/src/mongo/db/exec/find_projection_executor.h
+++ b/src/mongo/db/exec/find_projection_executor.h
@@ -29,8 +29,8 @@
#pragma once
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/matcher/expression.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/field_path.h"
namespace mongo {
diff --git a/src/mongo/db/exec/find_projection_executor_test.cpp b/src/mongo/db/exec/find_projection_executor_test.cpp
index 0282d8ca383..2bff975ed8c 100644
--- a/src/mongo/db/exec/find_projection_executor_test.cpp
+++ b/src/mongo/db/exec/find_projection_executor_test.cpp
@@ -29,9 +29,9 @@
#include "mongo/platform/basic.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/exec/find_projection_executor.h"
#include "mongo/db/matcher/expression_parser.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/unittest/death_test.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/exec/geo_near.cpp b/src/mongo/db/exec/geo_near.cpp
index ccf5575044f..87b7d150348 100644
--- a/src/mongo/db/exec/geo_near.cpp
+++ b/src/mongo/db/exec/geo_near.cpp
@@ -39,13 +39,13 @@
#include "mongo/base/owned_pointer_vector.h"
#include "mongo/db/bson/dotted_path_support.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/exec/fetch.h"
#include "mongo/db/geo/geoconstants.h"
#include "mongo/db/geo/geoparser.h"
#include "mongo/db/geo/hash.h"
#include "mongo/db/index/expression_params.h"
#include "mongo/db/matcher/expression.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/expression_index.h"
#include "mongo/db/query/expression_index_knobs_gen.h"
#include "mongo/util/log.h"
diff --git a/src/mongo/db/exec/projection.cpp b/src/mongo/db/exec/projection.cpp
index 57239c83759..f334655562e 100644
--- a/src/mongo/db/exec/projection.cpp
+++ b/src/mongo/db/exec/projection.cpp
@@ -34,12 +34,12 @@
#include <boost/optional.hpp>
#include <memory>
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/exec/plan_stage.h"
#include "mongo/db/exec/scoped_timer.h"
#include "mongo/db/exec/working_set_common.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/matcher/expression.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/record_id.h"
#include "mongo/util/log.h"
#include "mongo/util/str.h"
diff --git a/src/mongo/db/exec/projection_exec.h b/src/mongo/db/exec/projection_exec.h
index c1b878aa48c..784fe2fb209 100644
--- a/src/mongo/db/exec/projection_exec.h
+++ b/src/mongo/db/exec/projection_exec.h
@@ -31,11 +31,11 @@
#include "boost/optional.hpp"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/exec/working_set.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/matcher/expression.h"
#include "mongo/db/matcher/expression_parser.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/util/string_map.h"
namespace mongo {
diff --git a/src/mongo/db/exec/projection_exec_agg.cpp b/src/mongo/db/exec/projection_exec_agg.cpp
index 29b4bf9543b..67433e12078 100644
--- a/src/mongo/db/exec/projection_exec_agg.cpp
+++ b/src/mongo/db/exec/projection_exec_agg.cpp
@@ -31,7 +31,7 @@
#include "mongo/db/exec/projection_exec_agg.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/parsed_aggregation_projection.h"
#include "mongo/db/query/projection_policies.h"
diff --git a/src/mongo/db/exec/sort_executor.cpp b/src/mongo/db/exec/sort_executor.cpp
index 613a1b2a0c4..f90c8576bbf 100644
--- a/src/mongo/db/exec/sort_executor.cpp
+++ b/src/mongo/db/exec/sort_executor.cpp
@@ -29,8 +29,8 @@
#include "mongo/platform/basic.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/exec/sort_executor.h"
-#include "mongo/db/pipeline/value_comparator.h"
namespace mongo {
namespace {
diff --git a/src/mongo/db/exec/sort_executor.h b/src/mongo/db/exec/sort_executor.h
index 3e3beca9863..3ec21b65fd0 100644
--- a/src/mongo/db/exec/sort_executor.h
+++ b/src/mongo/db/exec/sort_executor.h
@@ -29,9 +29,9 @@
#pragma once
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/exec/sort_key_comparator.h"
#include "mongo/db/exec/working_set.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/query/sort_pattern.h"
#include "mongo/db/sorter/sorter.h"
diff --git a/src/mongo/db/exec/sort_key_comparator.h b/src/mongo/db/exec/sort_key_comparator.h
index 74ecb89c793..e078bc71fa3 100644
--- a/src/mongo/db/exec/sort_key_comparator.h
+++ b/src/mongo/db/exec/sort_key_comparator.h
@@ -31,7 +31,7 @@
#include <vector>
-#include "mongo/db/pipeline/value.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/query/sort_pattern.h"
namespace mongo {
diff --git a/src/mongo/db/exec/working_set.h b/src/mongo/db/exec/working_set.h
index 0c60ff20de2..846111d059d 100644
--- a/src/mongo/db/exec/working_set.h
+++ b/src/mongo/db/exec/working_set.h
@@ -32,9 +32,9 @@
#include "boost/optional.hpp"
#include <vector>
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_metadata_fields.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_metadata_fields.h"
#include "mongo/db/record_id.h"
#include "mongo/db/storage/snapshot.h"
#include "mongo/stdx/unordered_set.h"
diff --git a/src/mongo/db/exec/working_set_test.cpp b/src/mongo/db/exec/working_set_test.cpp
index 7885e64a6d0..6fbad0911f4 100644
--- a/src/mongo/db/exec/working_set_test.cpp
+++ b/src/mongo/db/exec/working_set_test.cpp
@@ -29,11 +29,11 @@
#include "mongo/platform/basic.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/exec/working_set.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/json.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/storage/snapshot.h"
#include "mongo/unittest/bson_test_util.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/index/SConscript b/src/mongo/db/index/SConscript
index 2de54d9fbf8..9dbc5affd53 100644
--- a/src/mongo/db/index/SConscript
+++ b/src/mongo/db/index/SConscript
@@ -51,6 +51,7 @@ env.Library(
'$BUILD_DIR/mongo/db/geo/geoparser',
'$BUILD_DIR/mongo/db/index_names',
'$BUILD_DIR/mongo/db/mongohasher',
+ '$BUILD_DIR/mongo/db/pipeline/document_path_support',
'$BUILD_DIR/mongo/db/projection_exec_agg',
'$BUILD_DIR/mongo/db/query/collation/collator_interface',
'$BUILD_DIR/mongo/db/query/sort_pattern',
@@ -162,11 +163,11 @@ env.CppUnitTest(
'wildcard_key_generator_test.cpp',
],
LIBDEPS=[
- 'key_generator',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value_test_util',
'$BUILD_DIR/mongo/db/matcher/expressions',
'$BUILD_DIR/mongo/db/mongohasher',
- '$BUILD_DIR/mongo/db/pipeline/document_value_test_util',
'$BUILD_DIR/mongo/db/query/collation/collator_interface_mock',
'$BUILD_DIR/mongo/db/query/query_test_service_context',
+ 'key_generator',
],
)
diff --git a/src/mongo/db/index/sort_key_generator_test.cpp b/src/mongo/db/index/sort_key_generator_test.cpp
index 6383bdb9497..0e6681926dc 100644
--- a/src/mongo/db/index/sort_key_generator_test.cpp
+++ b/src/mongo/db/index/sort_key_generator_test.cpp
@@ -32,8 +32,8 @@
#include <memory>
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/index/sort_key_generator.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/db/query/collation/collator_interface_mock.h"
#include "mongo/unittest/death_test.h"
diff --git a/src/mongo/db/ops/write_ops_parsers.h b/src/mongo/db/ops/write_ops_parsers.h
index 2058ca4a055..70eb8d1a7d3 100644
--- a/src/mongo/db/ops/write_ops_parsers.h
+++ b/src/mongo/db/ops/write_ops_parsers.h
@@ -32,7 +32,7 @@
#include "mongo/base/string_data.h"
#include "mongo/bson/bsonelement.h"
#include "mongo/bson/bsonobjbuilder.h"
-#include "mongo/db/pipeline/value.h"
+#include "mongo/db/exec/document_value/value.h"
namespace mongo {
namespace write_ops {
diff --git a/src/mongo/db/pipeline/SConscript b/src/mongo/db/pipeline/SConscript
index f891a300c1a..3737415ccf9 100644
--- a/src/mongo/db/pipeline/SConscript
+++ b/src/mongo/db/pipeline/SConscript
@@ -27,41 +27,13 @@ env.Library(
)
env.Library(
- target='document_value',
- source=[
- 'document.cpp',
- 'document_comparator.cpp',
- 'document_metadata_fields.cpp',
- 'document_path_support.cpp',
- 'value.cpp',
- 'value_comparator.cpp',
- ],
- LIBDEPS=[
- 'field_path',
- '$BUILD_DIR/mongo/base',
- '$BUILD_DIR/mongo/db/query/datetime/date_time_support',
- '$BUILD_DIR/mongo/util/intrusive_counter',
- ]
- )
-
-env.Library(
- target='document_value_test_util',
- source=[
- 'document_value_test_util.cpp',
- ],
- LIBDEPS=[
- '$BUILD_DIR/mongo/unittest/unittest',
- 'document_value',
- ],
-)
-
-env.Library(
target='aggregation_request',
source=[
'aggregation_request.cpp',
],
LIBDEPS=[
'$BUILD_DIR/mongo/base',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value',
'$BUILD_DIR/mongo/db/namespace_string',
'$BUILD_DIR/mongo/db/query/command_request_response',
'$BUILD_DIR/mongo/db/query/explain_options',
@@ -70,7 +42,6 @@ env.Library(
'$BUILD_DIR/mongo/db/storage/storage_options',
'$BUILD_DIR/mongo/db/write_concern_options',
'document_sources_idl',
- 'document_value',
]
)
@@ -94,7 +65,7 @@ env.Library(
'dependencies.cpp',
],
LIBDEPS=[
- 'document_value',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value',
'field_path',
]
)
@@ -106,12 +77,12 @@ env.Library(
'expression_trigonometric.cpp',
],
LIBDEPS=[
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value',
'$BUILD_DIR/mongo/db/query/datetime/date_time_support',
'$BUILD_DIR/mongo/db/server_options_core',
'$BUILD_DIR/mongo/util/regex_util',
'$BUILD_DIR/mongo/util/summation',
'dependencies',
- 'document_value',
'expression_context',
]
)
@@ -144,14 +115,13 @@ env.Library(
'accumulator_sum.cpp',
],
LIBDEPS=[
- 'document_value',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value',
+ '$BUILD_DIR/mongo/scripting/scripting_common',
'$BUILD_DIR/mongo/util/summation',
'expression',
'field_path',
- '$BUILD_DIR/mongo/scripting/scripting_common'
]
)
-
env.Library(
target='granularity_rounder',
source=[
@@ -160,7 +130,7 @@ env.Library(
'granularity_rounder_preferred_numbers.cpp',
],
LIBDEPS=[
- 'document_value',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value',
'expression',
'field_path',
]
@@ -288,6 +258,16 @@ env.Library(
],
)
+env.Library(
+ target="document_path_support",
+ source=[
+ 'document_path_support.cpp',
+ ],
+ LIBDEPS=[
+ "$BUILD_DIR/mongo/db/exec/document_value/document_value",
+ ],
+)
+
pipelineEnv = env.Clone()
pipelineEnv.InjectThirdParty(libraries=['snappy'])
pipelineEnv.Library(
@@ -337,8 +317,8 @@ pipelineEnv.Library(
'document_source_sort_by_count.cpp',
'document_source_tee_consumer.cpp',
'document_source_unwind.cpp',
- 'semantic_analysis.cpp',
'pipeline.cpp',
+ 'semantic_analysis.cpp',
'sequential_document_cache.cpp',
'stage_constraints.cpp',
'tee_buffer.cpp',
@@ -349,6 +329,7 @@ pipelineEnv.Library(
'$BUILD_DIR/mongo/db/bson/dotted_path_support',
'$BUILD_DIR/mongo/db/curop',
'$BUILD_DIR/mongo/db/curop_failpoint_helpers',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value',
'$BUILD_DIR/mongo/db/exec/scoped_timer',
'$BUILD_DIR/mongo/db/exec/sort_executor',
'$BUILD_DIR/mongo/db/generic_cursor',
@@ -373,8 +354,8 @@ pipelineEnv.Library(
'$BUILD_DIR/third_party/shim_snappy',
'accumulator',
'dependencies',
+ 'document_path_support',
'document_sources_idl',
- 'document_value',
'expression',
'expression_context',
'expression_javascript',
@@ -428,10 +409,10 @@ env.Library(
],
LIBDEPS=[
'$BUILD_DIR/mongo/base',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value',
'$BUILD_DIR/mongo/db/storage/key_string',
'$BUILD_DIR/mongo/idl/idl_parser',
'$BUILD_DIR/mongo/s/common_s',
- 'document_value',
'runtime_constants_idl',
],
)
@@ -443,8 +424,6 @@ env.CppUnitTest(
'accumulator_test.cpp',
'aggregation_request_test.cpp',
'dependencies_test.cpp',
- 'document_comparator_test.cpp',
- 'document_metadata_fields_test.cpp',
'document_path_support_test.cpp',
'document_source_add_fields_test.cpp',
'document_source_bucket_auto_test.cpp',
@@ -478,8 +457,6 @@ env.CppUnitTest(
'document_source_sort_by_count_test.cpp',
'document_source_sort_test.cpp',
'document_source_unwind_test.cpp',
- 'document_value_test.cpp',
- 'document_value_test_util_self_test.cpp',
'expression_convert_test.cpp',
'expression_date_test.cpp',
'expression_find_internal_test.cpp',
@@ -504,18 +481,19 @@ env.CppUnitTest(
'semantic_analysis_test.cpp',
'sequential_document_cache_test.cpp',
'tee_buffer_test.cpp',
- 'value_comparator_test.cpp',
],
LIBDEPS=[
+ "$BUILD_DIR/mongo/db/service_context_d",
+ "$BUILD_DIR/mongo/db/service_context_d_test_fixture",
'$BUILD_DIR/mongo/base',
'$BUILD_DIR/mongo/db/auth/authmocks',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value_test_util',
'$BUILD_DIR/mongo/db/query/collation/collator_interface_mock',
'$BUILD_DIR/mongo/db/query/query_test_service_context',
'$BUILD_DIR/mongo/db/repl/oplog_entry',
'$BUILD_DIR/mongo/db/repl/replmocks',
'$BUILD_DIR/mongo/db/service_context',
- "$BUILD_DIR/mongo/db/service_context_d",
- "$BUILD_DIR/mongo/db/service_context_d_test_fixture",
'$BUILD_DIR/mongo/db/service_context_test_fixture',
'$BUILD_DIR/mongo/executor/thread_pool_task_executor_test_fixture',
'$BUILD_DIR/mongo/s/is_mongos',
@@ -527,8 +505,6 @@ env.CppUnitTest(
'aggregation_request',
'document_source_mock',
'document_sources_idl',
- 'document_value',
- 'document_value_test_util',
'expression',
'field_path',
'granularity_rounder',
diff --git a/src/mongo/db/pipeline/accumulation_statement.cpp b/src/mongo/db/pipeline/accumulation_statement.cpp
index d47c507c6d9..ffa53f4c820 100644
--- a/src/mongo/db/pipeline/accumulation_statement.cpp
+++ b/src/mongo/db/pipeline/accumulation_statement.cpp
@@ -33,8 +33,8 @@
#include "mongo/db/pipeline/accumulation_statement.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/accumulator.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/util/assert_util.h"
#include "mongo/util/str.h"
#include "mongo/util/string_map.h"
diff --git a/src/mongo/db/pipeline/accumulator.h b/src/mongo/db/pipeline/accumulator.h
index 03686124d62..26dc64ecaeb 100644
--- a/src/mongo/db/pipeline/accumulator.h
+++ b/src/mongo/db/pipeline/accumulator.h
@@ -38,10 +38,10 @@
#include "mongo/base/init.h"
#include "mongo/bson/bsontypes.h"
+#include "mongo/db/exec/document_value/value.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
-#include "mongo/db/pipeline/value.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/stdx/unordered_set.h"
#include "mongo/util/summation.h"
diff --git a/src/mongo/db/pipeline/accumulator_add_to_set.cpp b/src/mongo/db/pipeline/accumulator_add_to_set.cpp
index cba9d443898..27f1b1d2958 100644
--- a/src/mongo/db/pipeline/accumulator_add_to_set.cpp
+++ b/src/mongo/db/pipeline/accumulator_add_to_set.cpp
@@ -31,9 +31,9 @@
#include "mongo/db/pipeline/accumulator.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/accumulation_statement.h"
#include "mongo/db/pipeline/expression_context.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/accumulator_avg.cpp b/src/mongo/db/pipeline/accumulator_avg.cpp
index 43550e9e361..fd989b08037 100644
--- a/src/mongo/db/pipeline/accumulator_avg.cpp
+++ b/src/mongo/db/pipeline/accumulator_avg.cpp
@@ -31,11 +31,11 @@
#include "mongo/db/pipeline/accumulator.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/accumulation_statement.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/platform/decimal128.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/accumulator_first.cpp b/src/mongo/db/pipeline/accumulator_first.cpp
index 6fcc334af83..92d759af8fb 100644
--- a/src/mongo/db/pipeline/accumulator_first.cpp
+++ b/src/mongo/db/pipeline/accumulator_first.cpp
@@ -31,8 +31,8 @@
#include "mongo/db/pipeline/accumulator.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/accumulation_statement.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/accumulator_js_test.cpp b/src/mongo/db/pipeline/accumulator_js_test.cpp
index 0cd20dab1ba..7637388ca4b 100644
--- a/src/mongo/db/pipeline/accumulator_js_test.cpp
+++ b/src/mongo/db/pipeline/accumulator_js_test.cpp
@@ -31,10 +31,10 @@
#include <memory>
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/accumulation_statement.h"
#include "mongo/db/pipeline/accumulator.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/db/pipeline/process_interface_standalone.h"
#include "mongo/db/service_context_d_test_fixture.h"
diff --git a/src/mongo/db/pipeline/accumulator_last.cpp b/src/mongo/db/pipeline/accumulator_last.cpp
index 4774abca5e9..93f5d477a46 100644
--- a/src/mongo/db/pipeline/accumulator_last.cpp
+++ b/src/mongo/db/pipeline/accumulator_last.cpp
@@ -31,8 +31,8 @@
#include "mongo/db/pipeline/accumulator.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/accumulation_statement.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/accumulator_merge_objects.cpp b/src/mongo/db/pipeline/accumulator_merge_objects.cpp
index 8878ff97676..9ffa78965b1 100644
--- a/src/mongo/db/pipeline/accumulator_merge_objects.cpp
+++ b/src/mongo/db/pipeline/accumulator_merge_objects.cpp
@@ -31,9 +31,9 @@
#include "mongo/db/pipeline/accumulator.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/accumulation_statement.h"
#include "mongo/db/pipeline/expression.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/accumulator_min_max.cpp b/src/mongo/db/pipeline/accumulator_min_max.cpp
index 496d9d94220..d3e3f4fe621 100644
--- a/src/mongo/db/pipeline/accumulator_min_max.cpp
+++ b/src/mongo/db/pipeline/accumulator_min_max.cpp
@@ -31,9 +31,9 @@
#include "mongo/db/pipeline/accumulator.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/accumulation_statement.h"
#include "mongo/db/pipeline/expression.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/accumulator_push.cpp b/src/mongo/db/pipeline/accumulator_push.cpp
index 5c1f640cef8..147a2d7a353 100644
--- a/src/mongo/db/pipeline/accumulator_push.cpp
+++ b/src/mongo/db/pipeline/accumulator_push.cpp
@@ -31,9 +31,9 @@
#include "mongo/db/pipeline/accumulator.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/accumulation_statement.h"
#include "mongo/db/pipeline/expression_context.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/accumulator_std_dev.cpp b/src/mongo/db/pipeline/accumulator_std_dev.cpp
index a2bce628539..98f5bd80ddc 100644
--- a/src/mongo/db/pipeline/accumulator_std_dev.cpp
+++ b/src/mongo/db/pipeline/accumulator_std_dev.cpp
@@ -31,11 +31,11 @@
#include "mongo/db/pipeline/accumulator.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/accumulation_statement.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
using boost::intrusive_ptr;
diff --git a/src/mongo/db/pipeline/accumulator_sum.cpp b/src/mongo/db/pipeline/accumulator_sum.cpp
index 0200288cdfa..81bc6c6af3e 100644
--- a/src/mongo/db/pipeline/accumulator_sum.cpp
+++ b/src/mongo/db/pipeline/accumulator_sum.cpp
@@ -34,9 +34,9 @@
#include "mongo/db/pipeline/accumulator.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/accumulation_statement.h"
#include "mongo/db/pipeline/expression.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/util/summation.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/accumulator_test.cpp b/src/mongo/db/pipeline/accumulator_test.cpp
index 4f56047ee11..ec4b88eae37 100644
--- a/src/mongo/db/pipeline/accumulator_test.cpp
+++ b/src/mongo/db/pipeline/accumulator_test.cpp
@@ -31,10 +31,10 @@
#include <memory>
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/accumulation_statement.h"
#include "mongo/db/pipeline/accumulator.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/db/query/collation/collator_interface_mock.h"
#include "mongo/dbtests/dbtests.h"
diff --git a/src/mongo/db/pipeline/aggregation_request.cpp b/src/mongo/db/pipeline/aggregation_request.cpp
index 8b0aa1c4cb7..ec5c6af9a27 100644
--- a/src/mongo/db/pipeline/aggregation_request.cpp
+++ b/src/mongo/db/pipeline/aggregation_request.cpp
@@ -39,8 +39,8 @@
#include "mongo/db/catalog/document_validation.h"
#include "mongo/db/command_generic_argument.h"
#include "mongo/db/commands.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/value.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/query/cursor_request.h"
#include "mongo/db/query/query_request.h"
#include "mongo/db/repl/read_concern_args.h"
diff --git a/src/mongo/db/pipeline/aggregation_request_test.cpp b/src/mongo/db/pipeline/aggregation_request_test.cpp
index 55b0992ec8f..8e0b3168c9d 100644
--- a/src/mongo/db/pipeline/aggregation_request_test.cpp
+++ b/src/mongo/db/pipeline/aggregation_request_test.cpp
@@ -35,10 +35,10 @@
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/json.h"
#include "mongo/db/catalog/document_validation.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/namespace_string.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/query_request.h"
#include "mongo/db/repl/read_concern_args.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/dependencies.h b/src/mongo/db/pipeline/dependencies.h
index 3487584a4a0..27e2efc41fd 100644
--- a/src/mongo/db/pipeline/dependencies.h
+++ b/src/mongo/db/pipeline/dependencies.h
@@ -33,7 +33,7 @@
#include <set>
#include <string>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/variables.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/dependencies_test.cpp b/src/mongo/db/pipeline/dependencies_test.cpp
index deb3ccb3536..de11708289d 100644
--- a/src/mongo/db/pipeline/dependencies_test.cpp
+++ b/src/mongo/db/pipeline/dependencies_test.cpp
@@ -35,8 +35,8 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_path_support.cpp b/src/mongo/db/pipeline/document_path_support.cpp
index 3da0790b574..a57d0496a1d 100644
--- a/src/mongo/db/pipeline/document_path_support.cpp
+++ b/src/mongo/db/pipeline/document_path_support.cpp
@@ -35,9 +35,9 @@
#include "mongo/base/parse_number.h"
#include "mongo/base/string_data.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/field_path.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/util/str.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_path_support.h b/src/mongo/db/pipeline/document_path_support.h
index e35ea59e441..5d9f0a1cb6b 100644
--- a/src/mongo/db/pipeline/document_path_support.h
+++ b/src/mongo/db/pipeline/document_path_support.h
@@ -32,11 +32,11 @@
#include <functional>
#include <vector>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/field_path.h"
-#include "mongo/db/pipeline/value.h"
-#include "mongo/db/pipeline/value_comparator.h"
namespace mongo {
namespace document_path_support {
diff --git a/src/mongo/db/pipeline/document_path_support_test.cpp b/src/mongo/db/pipeline/document_path_support_test.cpp
index 2c964faaab5..f870a317f22 100644
--- a/src/mongo/db/pipeline/document_path_support_test.cpp
+++ b/src/mongo/db/pipeline/document_path_support_test.cpp
@@ -34,12 +34,12 @@
#include "mongo/base/string_data.h"
#include "mongo/bson/json.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_comparator.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_comparator.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/document_path_support.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/field_path.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source.cpp b/src/mongo/db/pipeline/document_source.cpp
index bdad5fb8fb7..5515d6d24ce 100644
--- a/src/mongo/db/pipeline/document_source.cpp
+++ b/src/mongo/db/pipeline/document_source.cpp
@@ -31,6 +31,7 @@
#include "mongo/db/pipeline/document_source.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/exec/scoped_timer.h"
#include "mongo/db/matcher/expression_algo.h"
#include "mongo/db/pipeline/document_source_group.h"
@@ -41,7 +42,6 @@
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/field_path.h"
#include "mongo/db/pipeline/semantic_analysis.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/util/string_map.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source.h b/src/mongo/db/pipeline/document_source.h
index d37fd19d2c6..d9382c130ab 100644
--- a/src/mongo/db/pipeline/document_source.h
+++ b/src/mongo/db/pipeline/document_source.h
@@ -43,18 +43,18 @@
#include "mongo/bson/simple_bsonobj_comparator.h"
#include "mongo/db/collection_index_usage_tracker.h"
#include "mongo/db/commands.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/exec/plan_stats.h"
#include "mongo/db/generic_cursor.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/field_path.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
#include "mongo/db/pipeline/pipeline.h"
#include "mongo/db/pipeline/stage_constraints.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/explain_options.h"
#include "mongo/util/intrusive_counter.h"
diff --git a/src/mongo/db/pipeline/document_source_add_fields_test.cpp b/src/mongo/db/pipeline/document_source_add_fields_test.cpp
index bd8c9483ea7..da57f5f7847 100644
--- a/src/mongo/db/pipeline/document_source_add_fields_test.cpp
+++ b/src/mongo/db/pipeline/document_source_add_fields_test.cpp
@@ -32,12 +32,12 @@
#include <vector>
#include "mongo/bson/bson_depth.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/document_source_add_fields.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/unittest/unittest.h"
#include "mongo/util/assert_util.h"
diff --git a/src/mongo/db/pipeline/document_source_bucket_auto_test.cpp b/src/mongo/db/pipeline/document_source_bucket_auto_test.cpp
index f5a0600ae1b..5f450c1f792 100644
--- a/src/mongo/db/pipeline/document_source_bucket_auto_test.cpp
+++ b/src/mongo/db/pipeline/document_source_bucket_auto_test.cpp
@@ -38,14 +38,14 @@
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsontypes.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_bucket_auto.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_sort.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/unittest/temp_dir.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/document_source_bucket_test.cpp b/src/mongo/db/pipeline/document_source_bucket_test.cpp
index 175d2316208..8a555d2ee75 100644
--- a/src/mongo/db/pipeline/document_source_bucket_test.cpp
+++ b/src/mongo/db/pipeline/document_source_bucket_test.cpp
@@ -34,15 +34,15 @@
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_bucket.h"
#include "mongo/db/pipeline/document_source_group.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_sort.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
-#include "mongo/db/pipeline/value.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_change_stream_test.cpp b/src/mongo/db/pipeline/document_source_change_stream_test.cpp
index 592e3190786..1ce22080077 100644
--- a/src/mongo/db/pipeline/document_source_change_stream_test.cpp
+++ b/src/mongo/db/pipeline/document_source_change_stream_test.cpp
@@ -37,8 +37,11 @@
#include "mongo/bson/json.h"
#include "mongo/db/catalog/collection_catalog.h"
#include "mongo/db/catalog/collection_mock.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/document_source_change_stream.h"
#include "mongo/db/pipeline/document_source_change_stream_transform.h"
@@ -47,10 +50,7 @@
#include "mongo/db/pipeline/document_source_match.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_sort.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/stub_mongo_process_interface.h"
-#include "mongo/db/pipeline/value.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/db/repl/oplog_entry.h"
#include "mongo/db/repl/replication_coordinator_mock.h"
#include "mongo/db/transaction_history_iterator.h"
diff --git a/src/mongo/db/pipeline/document_source_check_resume_token_test.cpp b/src/mongo/db/pipeline/document_source_check_resume_token_test.cpp
index 3c629549e02..ff551bff6b8 100644
--- a/src/mongo/db/pipeline/document_source_check_resume_token_test.cpp
+++ b/src/mongo/db/pipeline/document_source_check_resume_token_test.cpp
@@ -35,10 +35,10 @@
#include "mongo/bson/bsonelement.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/document_source_check_resume_token.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/resume_token.h"
#include "mongo/db/pipeline/stub_mongo_process_interface.h"
diff --git a/src/mongo/db/pipeline/document_source_count_test.cpp b/src/mongo/db/pipeline/document_source_count_test.cpp
index d3cd70532e7..69b98cc37e9 100644
--- a/src/mongo/db/pipeline/document_source_count_test.cpp
+++ b/src/mongo/db/pipeline/document_source_count_test.cpp
@@ -36,13 +36,13 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_count.h"
#include "mongo/db/pipeline/document_source_group.h"
#include "mongo/db/pipeline/document_source_single_document_transformation.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
namespace {
diff --git a/src/mongo/db/pipeline/document_source_current_op_test.cpp b/src/mongo/db/pipeline/document_source_current_op_test.cpp
index f9cd2a91b14..a2fb9ed833a 100644
--- a/src/mongo/db/pipeline/document_source_current_op_test.cpp
+++ b/src/mongo/db/pipeline/document_source_current_op_test.cpp
@@ -29,10 +29,10 @@
#include "mongo/platform/basic.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_current_op.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/stub_mongo_process_interface.h"
#include "mongo/unittest/unittest.h"
#include "mongo/util/assert_util.h"
diff --git a/src/mongo/db/pipeline/document_source_cursor.cpp b/src/mongo/db/pipeline/document_source_cursor.cpp
index 368b75613ec..2d5f131d190 100644
--- a/src/mongo/db/pipeline/document_source_cursor.cpp
+++ b/src/mongo/db/pipeline/document_source_cursor.cpp
@@ -34,8 +34,8 @@
#include "mongo/db/pipeline/document_source_cursor.h"
#include "mongo/db/catalog/collection.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/exec/working_set_common.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/query/collection_query_info.h"
#include "mongo/db/query/explain.h"
#include "mongo/db/query/find_common.h"
diff --git a/src/mongo/db/pipeline/document_source_facet.cpp b/src/mongo/db/pipeline/document_source_facet.cpp
index ff10abe4284..34bd1d9a4bd 100644
--- a/src/mongo/db/pipeline/document_source_facet.cpp
+++ b/src/mongo/db/pipeline/document_source_facet.cpp
@@ -38,13 +38,13 @@
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/bsontypes.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/document_source_tee_consumer.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/field_path.h"
#include "mongo/db/pipeline/pipeline.h"
#include "mongo/db/pipeline/tee_buffer.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/util/assert_util.h"
#include "mongo/util/str.h"
diff --git a/src/mongo/db/pipeline/document_source_facet_test.cpp b/src/mongo/db/pipeline/document_source_facet_test.cpp
index 1ed94365190..5d094fe5bcf 100644
--- a/src/mongo/db/pipeline/document_source_facet_test.cpp
+++ b/src/mongo/db/pipeline/document_source_facet_test.cpp
@@ -38,12 +38,12 @@
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/bsontypes.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_limit.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_skip.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/unittest/death_test.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/document_source_geo_near.cpp b/src/mongo/db/pipeline/document_source_geo_near.cpp
index 8e1067751b6..61f04889ffa 100644
--- a/src/mongo/db/pipeline/document_source_geo_near.cpp
+++ b/src/mongo/db/pipeline/document_source_geo_near.cpp
@@ -33,7 +33,7 @@
#include "mongo/db/pipeline/document_source_geo_near.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/document_source_sort.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
#include "mongo/util/log.h"
diff --git a/src/mongo/db/pipeline/document_source_geo_near_cursor.cpp b/src/mongo/db/pipeline/document_source_geo_near_cursor.cpp
index 1fa3e8d673c..306bc5f6d3e 100644
--- a/src/mongo/db/pipeline/document_source_geo_near_cursor.cpp
+++ b/src/mongo/db/pipeline/document_source_geo_near_cursor.cpp
@@ -41,7 +41,7 @@
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/simple_bsonobj_comparator.h"
#include "mongo/db/catalog/collection.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/document_source_cursor.h"
#include "mongo/db/pipeline/document_source_sort.h"
#include "mongo/db/pipeline/expression_context.h"
diff --git a/src/mongo/db/pipeline/document_source_geo_near_cursor.h b/src/mongo/db/pipeline/document_source_geo_near_cursor.h
index 52e8d1cc554..5022c716d2e 100644
--- a/src/mongo/db/pipeline/document_source_geo_near_cursor.h
+++ b/src/mongo/db/pipeline/document_source_geo_near_cursor.h
@@ -37,7 +37,7 @@
#include "mongo/base/string_data.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/db/catalog/collection.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/document_source_cursor.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/field_path.h"
diff --git a/src/mongo/db/pipeline/document_source_geo_near_test.cpp b/src/mongo/db/pipeline/document_source_geo_near_test.cpp
index 14e9e9299b7..b9e73e6f8bf 100644
--- a/src/mongo/db/pipeline/document_source_geo_near_test.cpp
+++ b/src/mongo/db/pipeline/document_source_geo_near_test.cpp
@@ -33,10 +33,10 @@
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/document_source_geo_near.h"
#include "mongo/db/pipeline/document_source_limit.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/pipeline.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_graph_lookup.cpp b/src/mongo/db/pipeline/document_source_graph_lookup.cpp
index ea781c2b1b9..f071e756850 100644
--- a/src/mongo/db/pipeline/document_source_graph_lookup.cpp
+++ b/src/mongo/db/pipeline/document_source_graph_lookup.cpp
@@ -35,13 +35,13 @@
#include "mongo/base/init.h"
#include "mongo/db/bson/dotted_path_support.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_comparator.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_comparator.h"
#include "mongo/db/pipeline/document_path_support.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/query_planner_common.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_graph_lookup.h b/src/mongo/db/pipeline/document_source_graph_lookup.h
index c9eccb39de9..77512232c36 100644
--- a/src/mongo/db/pipeline/document_source_graph_lookup.h
+++ b/src/mongo/db/pipeline/document_source_graph_lookup.h
@@ -29,11 +29,11 @@
#pragma once
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/document_source_unwind.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/lookup_set_cache.h"
-#include "mongo/db/pipeline/value_comparator.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_graph_lookup_test.cpp b/src/mongo/db/pipeline/document_source_graph_lookup_test.cpp
index 27b364ca2cd..36aeffeffd6 100644
--- a/src/mongo/db/pipeline/document_source_graph_lookup_test.cpp
+++ b/src/mongo/db/pipeline/document_source_graph_lookup_test.cpp
@@ -32,11 +32,11 @@
#include <algorithm>
#include <deque>
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_graph_lookup.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/stub_mongo_process_interface.h"
#include "mongo/unittest/unittest.h"
#include "mongo/util/assert_util.h"
diff --git a/src/mongo/db/pipeline/document_source_group.cpp b/src/mongo/db/pipeline/document_source_group.cpp
index 2f7f32aa844..e15c3e48382 100644
--- a/src/mongo/db/pipeline/document_source_group.cpp
+++ b/src/mongo/db/pipeline/document_source_group.cpp
@@ -32,16 +32,16 @@
#include <boost/filesystem/operations.hpp>
#include <memory>
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/pipeline/accumulation_statement.h"
#include "mongo/db/pipeline/accumulator.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_group.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
-#include "mongo/db/pipeline/value.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/util/destructor_guard.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_group_test.cpp b/src/mongo/db/pipeline/document_source_group_test.cpp
index 05f7d23ff2c..85cf981725e 100644
--- a/src/mongo/db/pipeline/document_source_group_test.cpp
+++ b/src/mongo/db/pipeline/document_source_group_test.cpp
@@ -40,15 +40,15 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/aggregation_request.h"
#include "mongo/db/pipeline/dependencies.h"
#include "mongo/db/pipeline/document_source_group.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/db/query/query_test_service_context.h"
#include "mongo/dbtests/dbtests.h"
#include "mongo/stdx/unordered_set.h"
diff --git a/src/mongo/db/pipeline/document_source_internal_shard_filter.cpp b/src/mongo/db/pipeline/document_source_internal_shard_filter.cpp
index 7beb9441feb..0e94234a3e1 100644
--- a/src/mongo/db/pipeline/document_source_internal_shard_filter.cpp
+++ b/src/mongo/db/pipeline/document_source_internal_shard_filter.cpp
@@ -33,7 +33,7 @@
#include "mongo/db/pipeline/document_source_internal_shard_filter.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/util/log.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_internal_shard_filter_test.cpp b/src/mongo/db/pipeline/document_source_internal_shard_filter_test.cpp
index 43eda00d9af..ad510f746a4 100644
--- a/src/mongo/db/pipeline/document_source_internal_shard_filter_test.cpp
+++ b/src/mongo/db/pipeline/document_source_internal_shard_filter_test.cpp
@@ -31,11 +31,11 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/exec/shard_filterer.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/document_source_internal_shard_filter.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/pipeline.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/document_source_limit.cpp b/src/mongo/db/pipeline/document_source_limit.cpp
index f5930738a41..ef08bc707ad 100644
--- a/src/mongo/db/pipeline/document_source_limit.cpp
+++ b/src/mongo/db/pipeline/document_source_limit.cpp
@@ -31,12 +31,12 @@
#include "mongo/db/pipeline/document_source_limit.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_limit_test.cpp b/src/mongo/db/pipeline/document_source_limit_test.cpp
index 014cc563510..67d4954274c 100644
--- a/src/mongo/db/pipeline/document_source_limit_test.cpp
+++ b/src/mongo/db/pipeline/document_source_limit_test.cpp
@@ -31,12 +31,12 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/dependencies.h"
#include "mongo/db/pipeline/document_source_limit.h"
#include "mongo/db/pipeline/document_source_match.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/pipeline.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/document_source_lookup.cpp b/src/mongo/db/pipeline/document_source_lookup.cpp
index 0c42c595cfe..a4b1bf4221a 100644
--- a/src/mongo/db/pipeline/document_source_lookup.cpp
+++ b/src/mongo/db/pipeline/document_source_lookup.cpp
@@ -34,13 +34,13 @@
#include <memory>
#include "mongo/base/init.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/matcher/expression_algo.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_path_support.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/query_knobs_gen.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_lookup.h b/src/mongo/db/pipeline/document_source_lookup.h
index b618ec6230f..6e72a8d7f44 100644
--- a/src/mongo/db/pipeline/document_source_lookup.h
+++ b/src/mongo/db/pipeline/document_source_lookup.h
@@ -31,6 +31,7 @@
#include <boost/optional.hpp>
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/document_source_match.h"
#include "mongo/db/pipeline/document_source_sequential_document_cache.h"
@@ -38,7 +39,6 @@
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/lite_parsed_pipeline.h"
#include "mongo/db/pipeline/lookup_set_cache.h"
-#include "mongo/db/pipeline/value_comparator.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_lookup_change_post_image_test.cpp b/src/mongo/db/pipeline/document_source_lookup_change_post_image_test.cpp
index e40c5b4068c..7f8d624848b 100644
--- a/src/mongo/db/pipeline/document_source_lookup_change_post_image_test.cpp
+++ b/src/mongo/db/pipeline/document_source_lookup_change_post_image_test.cpp
@@ -36,15 +36,15 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_change_stream.h"
#include "mongo/db/pipeline/document_source_lookup_change_post_image.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/field_path.h"
#include "mongo/db/pipeline/stub_mongo_process_interface_lookup_single_document.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
namespace {
diff --git a/src/mongo/db/pipeline/document_source_lookup_test.cpp b/src/mongo/db/pipeline/document_source_lookup_test.cpp
index 38b17213eaf..704349d800c 100644
--- a/src/mongo/db/pipeline/document_source_lookup_test.cpp
+++ b/src/mongo/db/pipeline/document_source_lookup_test.cpp
@@ -36,14 +36,14 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_lookup.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/field_path.h"
#include "mongo/db/pipeline/stub_mongo_process_interface.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/query_knobs_gen.h"
#include "mongo/db/repl/replication_coordinator_mock.h"
#include "mongo/db/repl/storage_interface_mock.h"
diff --git a/src/mongo/db/pipeline/document_source_match.cpp b/src/mongo/db/pipeline/document_source_match.cpp
index 066330fa525..44697476cf1 100644
--- a/src/mongo/db/pipeline/document_source_match.cpp
+++ b/src/mongo/db/pipeline/document_source_match.cpp
@@ -33,13 +33,13 @@
#include <memory>
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/matcher/expression_algo.h"
#include "mongo/db/matcher/expression_array.h"
#include "mongo/db/matcher/expression_leaf.h"
#include "mongo/db/matcher/expression_parser.h"
#include "mongo/db/matcher/extensions_callback_noop.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_path_support.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
diff --git a/src/mongo/db/pipeline/document_source_match_test.cpp b/src/mongo/db/pipeline/document_source_match_test.cpp
index 83283bbefeb..de5eb9cbc46 100644
--- a/src/mongo/db/pipeline/document_source_match_test.cpp
+++ b/src/mongo/db/pipeline/document_source_match_test.cpp
@@ -34,11 +34,11 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_match.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/pipeline.h"
#include "mongo/unittest/death_test.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/document_source_merge_cursors_test.cpp b/src/mongo/db/pipeline/document_source_merge_cursors_test.cpp
index 7daca0df406..544748319a8 100644
--- a/src/mongo/db/pipeline/document_source_merge_cursors_test.cpp
+++ b/src/mongo/db/pipeline/document_source_merge_cursors_test.cpp
@@ -35,11 +35,11 @@
#include "mongo/client/remote_command_targeter_factory_mock.h"
#include "mongo/client/remote_command_targeter_mock.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/json.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/document_source_limit.h"
#include "mongo/db/pipeline/document_source_sort.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/query/cursor_response.h"
#include "mongo/db/query/getmore_request.h"
diff --git a/src/mongo/db/pipeline/document_source_merge_test.cpp b/src/mongo/db/pipeline/document_source_merge_test.cpp
index cdef17e6ca9..f46df8bd212 100644
--- a/src/mongo/db/pipeline/document_source_merge_test.cpp
+++ b/src/mongo/db/pipeline/document_source_merge_test.cpp
@@ -31,10 +31,10 @@
#include <boost/intrusive_ptr.hpp>
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_merge.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/process_interface_standalone.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_mock.cpp b/src/mongo/db/pipeline/document_source_mock.cpp
index 86e9ebda0ee..815cacb24ac 100644
--- a/src/mongo/db/pipeline/document_source_mock.cpp
+++ b/src/mongo/db/pipeline/document_source_mock.cpp
@@ -31,7 +31,7 @@
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
diff --git a/src/mongo/db/pipeline/document_source_mock_test.cpp b/src/mongo/db/pipeline/document_source_mock_test.cpp
index c377796460e..0f6334c2e1d 100644
--- a/src/mongo/db/pipeline/document_source_mock_test.cpp
+++ b/src/mongo/db/pipeline/document_source_mock_test.cpp
@@ -29,9 +29,9 @@
#include "mongo/platform/basic.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/document_source_out_test.cpp b/src/mongo/db/pipeline/document_source_out_test.cpp
index 69aa6105a72..e8decf18ad6 100644
--- a/src/mongo/db/pipeline/document_source_out_test.cpp
+++ b/src/mongo/db/pipeline/document_source_out_test.cpp
@@ -31,10 +31,10 @@
#include <boost/intrusive_ptr.hpp>
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_out.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
namespace mongo {
namespace {
diff --git a/src/mongo/db/pipeline/document_source_project_test.cpp b/src/mongo/db/pipeline/document_source_project_test.cpp
index 4f8f800c79d..9480c80602b 100644
--- a/src/mongo/db/pipeline/document_source_project_test.cpp
+++ b/src/mongo/db/pipeline/document_source_project_test.cpp
@@ -36,13 +36,13 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/dependencies.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_project.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/semantic_analysis.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_redact.cpp b/src/mongo/db/pipeline/document_source_redact.cpp
index 749041c231a..fbb221594b6 100644
--- a/src/mongo/db/pipeline/document_source_redact.cpp
+++ b/src/mongo/db/pipeline/document_source_redact.cpp
@@ -33,12 +33,12 @@
#include <boost/optional.hpp>
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_match.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_replace_root.cpp b/src/mongo/db/pipeline/document_source_replace_root.cpp
index 4a1a29688c8..eda91efb23c 100644
--- a/src/mongo/db/pipeline/document_source_replace_root.cpp
+++ b/src/mongo/db/pipeline/document_source_replace_root.cpp
@@ -33,10 +33,10 @@
#include <boost/smart_ptr/intrusive_ptr.hpp>
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/pipeline/document_source_replace_root_gen.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_replace_root.h b/src/mongo/db/pipeline/document_source_replace_root.h
index 917b221e20c..e0d8482d554 100644
--- a/src/mongo/db/pipeline/document_source_replace_root.h
+++ b/src/mongo/db/pipeline/document_source_replace_root.h
@@ -29,7 +29,7 @@
#pragma once
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/document_source_single_document_transformation.h"
#include "mongo/db/pipeline/expression.h"
diff --git a/src/mongo/db/pipeline/document_source_replace_root_test.cpp b/src/mongo/db/pipeline/document_source_replace_root_test.cpp
index cb71448fa7b..227331d6897 100644
--- a/src/mongo/db/pipeline/document_source_replace_root_test.cpp
+++ b/src/mongo/db/pipeline/document_source_replace_root_test.cpp
@@ -33,12 +33,12 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_replace_root.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_sample.cpp b/src/mongo/db/pipeline/document_source_sample.cpp
index ac9346a0d28..0904778c871 100644
--- a/src/mongo/db/pipeline/document_source_sample.cpp
+++ b/src/mongo/db/pipeline/document_source_sample.cpp
@@ -32,11 +32,11 @@
#include "mongo/db/pipeline/document_source_sample.h"
#include "mongo/db/client.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
using boost::intrusive_ptr;
diff --git a/src/mongo/db/pipeline/document_source_sample_from_random_cursor.cpp b/src/mongo/db/pipeline/document_source_sample_from_random_cursor.cpp
index 31389b9d44d..09e4b1fc148 100644
--- a/src/mongo/db/pipeline/document_source_sample_from_random_cursor.cpp
+++ b/src/mongo/db/pipeline/document_source_sample_from_random_cursor.cpp
@@ -36,10 +36,10 @@
#include <boost/math/distributions/beta.hpp>
#include "mongo/db/client.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/util/log.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_sample_from_random_cursor.h b/src/mongo/db/pipeline/document_source_sample_from_random_cursor.h
index 07d8f4cabfd..d65880bc806 100644
--- a/src/mongo/db/pipeline/document_source_sample_from_random_cursor.h
+++ b/src/mongo/db/pipeline/document_source_sample_from_random_cursor.h
@@ -29,8 +29,8 @@
#pragma once
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/document_source.h"
-#include "mongo/db/pipeline/value_comparator.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_sample_test.cpp b/src/mongo/db/pipeline/document_source_sample_test.cpp
index 0d38fa914a9..a2b10600053 100644
--- a/src/mongo/db/pipeline/document_source_sample_test.cpp
+++ b/src/mongo/db/pipeline/document_source_sample_test.cpp
@@ -35,11 +35,11 @@
#include "mongo/bson/bsonelement.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_sample.h"
#include "mongo/db/pipeline/document_source_sample_from_random_cursor.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/unittest/death_test.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/document_source_single_document_transformation.cpp b/src/mongo/db/pipeline/document_source_single_document_transformation.cpp
index 633e2e55b1c..41c123e542d 100644
--- a/src/mongo/db/pipeline/document_source_single_document_transformation.cpp
+++ b/src/mongo/db/pipeline/document_source_single_document_transformation.cpp
@@ -33,11 +33,11 @@
#include <boost/smart_ptr/intrusive_ptr.hpp>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/document_source_limit.h"
#include "mongo/db/pipeline/document_source_skip.h"
#include "mongo/db/pipeline/expression.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_skip.cpp b/src/mongo/db/pipeline/document_source_skip.cpp
index 8a867a27e4b..f38036f0152 100644
--- a/src/mongo/db/pipeline/document_source_skip.cpp
+++ b/src/mongo/db/pipeline/document_source_skip.cpp
@@ -31,13 +31,13 @@
#include "mongo/db/pipeline/document_source_skip.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_limit.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_skip_test.cpp b/src/mongo/db/pipeline/document_source_skip_test.cpp
index a864ae23b22..340043a6d79 100644
--- a/src/mongo/db/pipeline/document_source_skip_test.cpp
+++ b/src/mongo/db/pipeline/document_source_skip_test.cpp
@@ -29,11 +29,11 @@
#include "mongo/platform/basic.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_skip.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_sort.cpp b/src/mongo/db/pipeline/document_source_sort.cpp
index 5bce2d6acd0..82b476c791f 100644
--- a/src/mongo/db/pipeline/document_source_sort.cpp
+++ b/src/mongo/db/pipeline/document_source_sort.cpp
@@ -31,13 +31,13 @@
#include "mongo/db/pipeline/document_source_sort.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_skip.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/collation/collation_index_key.h"
#include "mongo/platform/overflow_arithmetic.h"
#include "mongo/s/query/document_source_merge_cursors.h"
diff --git a/src/mongo/db/pipeline/document_source_sort_by_count_test.cpp b/src/mongo/db/pipeline/document_source_sort_by_count_test.cpp
index b8ed1624800..d4ab7f15c55 100644
--- a/src/mongo/db/pipeline/document_source_sort_by_count_test.cpp
+++ b/src/mongo/db/pipeline/document_source_sort_by_count_test.cpp
@@ -35,14 +35,14 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source_group.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_sort.h"
#include "mongo/db/pipeline/document_source_sort_by_count.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_sort_test.cpp b/src/mongo/db/pipeline/document_source_sort_test.cpp
index fe4275d310f..67d909c54d2 100644
--- a/src/mongo/db/pipeline/document_source_sort_test.cpp
+++ b/src/mongo/db/pipeline/document_source_sort_test.cpp
@@ -39,11 +39,11 @@
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/dependencies.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_sort.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/pipeline.h"
#include "mongo/unittest/temp_dir.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/document_source_tee_consumer.cpp b/src/mongo/db/pipeline/document_source_tee_consumer.cpp
index 59910b8f5ca..0d24ec09362 100644
--- a/src/mongo/db/pipeline/document_source_tee_consumer.cpp
+++ b/src/mongo/db/pipeline/document_source_tee_consumer.cpp
@@ -35,7 +35,7 @@
#include <boost/optional.hpp>
#include <vector>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/expression_context.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_unwind.cpp b/src/mongo/db/pipeline/document_source_unwind.cpp
index b1426d30de3..95816bbb68e 100644
--- a/src/mongo/db/pipeline/document_source_unwind.cpp
+++ b/src/mongo/db/pipeline/document_source_unwind.cpp
@@ -31,11 +31,11 @@
#include "mongo/db/pipeline/document_source_unwind.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/document_source_unwind_test.cpp b/src/mongo/db/pipeline/document_source_unwind_test.cpp
index e55a58a1c3b..f2986894540 100644
--- a/src/mongo/db/pipeline/document_source_unwind_test.cpp
+++ b/src/mongo/db/pipeline/document_source_unwind_test.cpp
@@ -38,13 +38,13 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/dependencies.h"
#include "mongo/db/pipeline/document_source_mock.h"
#include "mongo/db/pipeline/document_source_unwind.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/db/query/query_test_service_context.h"
#include "mongo/db/service_context.h"
#include "mongo/dbtests/dbtests.h"
diff --git a/src/mongo/db/pipeline/expression.cpp b/src/mongo/db/pipeline/expression.cpp
index 2ac2bd0402f..6f5ac073fbb 100644
--- a/src/mongo/db/pipeline/expression.cpp
+++ b/src/mongo/db/pipeline/expression.cpp
@@ -40,10 +40,10 @@
#include <vector>
#include "mongo/db/commands/feature_compatibility_version_documentation.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/expression_context.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/datetime/date_time_support.h"
#include "mongo/platform/bits.h"
#include "mongo/platform/decimal128.h"
diff --git a/src/mongo/db/pipeline/expression.h b/src/mongo/db/pipeline/expression.h
index 37817493fe5..7b8953c8bb1 100644
--- a/src/mongo/db/pipeline/expression.h
+++ b/src/mongo/db/pipeline/expression.h
@@ -41,12 +41,12 @@
#include <vector>
#include "mongo/base/init.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/expression_context.h"
#include "mongo/db/pipeline/expression_visitor.h"
#include "mongo/db/pipeline/field_path.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/pipeline/variables.h"
#include "mongo/db/query/datetime/date_time_support.h"
#include "mongo/db/server_options.h"
diff --git a/src/mongo/db/pipeline/expression_context.h b/src/mongo/db/pipeline/expression_context.h
index e7e4c7ac2a7..e9efc8540a5 100644
--- a/src/mongo/db/pipeline/expression_context.h
+++ b/src/mongo/db/pipeline/expression_context.h
@@ -37,13 +37,13 @@
#include "mongo/base/string_data.h"
#include "mongo/bson/bsonobj.h"
+#include "mongo/db/exec/document_value/document_comparator.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/operation_context.h"
#include "mongo/db/pipeline/aggregation_request.h"
-#include "mongo/db/pipeline/document_comparator.h"
#include "mongo/db/pipeline/mongo_process_interface.h"
#include "mongo/db/pipeline/runtime_constants_gen.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/db/pipeline/variables.h"
#include "mongo/db/query/collation/collator_interface.h"
#include "mongo/db/query/datetime/date_time_support.h"
diff --git a/src/mongo/db/pipeline/expression_convert_test.cpp b/src/mongo/db/pipeline/expression_convert_test.cpp
index edd9f1f4ccf..05f3de3ccf0 100644
--- a/src/mongo/db/pipeline/expression_convert_test.cpp
+++ b/src/mongo/db/pipeline/expression_convert_test.cpp
@@ -30,9 +30,9 @@
#include "mongo/platform/basic.h"
#include "mongo/bson/oid.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/expression_date_test.cpp b/src/mongo/db/pipeline/expression_date_test.cpp
index 49099b47b36..78fdfac5b8d 100644
--- a/src/mongo/db/pipeline/expression_date_test.cpp
+++ b/src/mongo/db/pipeline/expression_date_test.cpp
@@ -29,8 +29,8 @@
#include "mongo/platform/basic.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/expression_find_internal_test.cpp b/src/mongo/db/pipeline/expression_find_internal_test.cpp
index 9fff474201c..638bb76732e 100644
--- a/src/mongo/db/pipeline/expression_find_internal_test.cpp
+++ b/src/mongo/db/pipeline/expression_find_internal_test.cpp
@@ -29,8 +29,8 @@
#include "mongo/platform/basic.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_find_internal.h"
#include "mongo/db/pipeline/parsed_aggregation_projection.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/expression_javascript_test.cpp b/src/mongo/db/pipeline/expression_javascript_test.cpp
index ae687de8128..8060a2b66d5 100644
--- a/src/mongo/db/pipeline/expression_javascript_test.cpp
+++ b/src/mongo/db/pipeline/expression_javascript_test.cpp
@@ -30,8 +30,8 @@
#include "mongo/db/pipeline/expression_javascript.h"
#include "mongo/db/commands/test_commands_enabled.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/db/pipeline/process_interface_standalone.h"
#include "mongo/db/query/query_knobs_gen.h"
diff --git a/src/mongo/db/pipeline/expression_test.cpp b/src/mongo/db/pipeline/expression_test.cpp
index 5d30bd58f4a..8c669200d67 100644
--- a/src/mongo/db/pipeline/expression_test.cpp
+++ b/src/mongo/db/pipeline/expression_test.cpp
@@ -31,14 +31,14 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/config.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/json.h"
#include "mongo/db/pipeline/accumulator.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/db/query/collation/collator_interface_mock.h"
#include "mongo/dbtests/dbtests.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/expression_trigonometric_test.cpp b/src/mongo/db/pipeline/expression_trigonometric_test.cpp
index b9356e60bae..dac735bd242 100644
--- a/src/mongo/db/pipeline/expression_trigonometric_test.cpp
+++ b/src/mongo/db/pipeline/expression_trigonometric_test.cpp
@@ -31,7 +31,7 @@
#include "mongo/db/pipeline/expression_trigonometric.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/granularity_rounder.h b/src/mongo/db/pipeline/granularity_rounder.h
index f96c6f4662c..813e11b971e 100644
--- a/src/mongo/db/pipeline/granularity_rounder.h
+++ b/src/mongo/db/pipeline/granularity_rounder.h
@@ -33,9 +33,9 @@
#include <vector>
#include "mongo/base/init.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/pipeline/expression_context.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/util/intrusive_counter.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/granularity_rounder_powers_of_two_test.cpp b/src/mongo/db/pipeline/granularity_rounder_powers_of_two_test.cpp
index 057262d9bd7..34645752e3f 100644
--- a/src/mongo/db/pipeline/granularity_rounder_powers_of_two_test.cpp
+++ b/src/mongo/db/pipeline/granularity_rounder_powers_of_two_test.cpp
@@ -31,7 +31,7 @@
#include "mongo/db/pipeline/granularity_rounder.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/unittest/unittest.h"
#include "mongo/util/assert_util.h"
diff --git a/src/mongo/db/pipeline/granularity_rounder_preferred_numbers_test.cpp b/src/mongo/db/pipeline/granularity_rounder_preferred_numbers_test.cpp
index 56164da1b21..e4d8600b404 100644
--- a/src/mongo/db/pipeline/granularity_rounder_preferred_numbers_test.cpp
+++ b/src/mongo/db/pipeline/granularity_rounder_preferred_numbers_test.cpp
@@ -31,8 +31,8 @@
#include "mongo/db/pipeline/granularity_rounder.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/util/assert_util.h"
diff --git a/src/mongo/db/pipeline/javascript_execution.h b/src/mongo/db/pipeline/javascript_execution.h
index e94da67dae7..4f63586c069 100644
--- a/src/mongo/db/pipeline/javascript_execution.h
+++ b/src/mongo/db/pipeline/javascript_execution.h
@@ -30,7 +30,7 @@
#pragma once
#include "mongo/db/client.h"
-#include "mongo/db/pipeline/value.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/scripting/engine.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/lookup_set_cache.h b/src/mongo/db/pipeline/lookup_set_cache.h
index 54b75d03934..cd033caa968 100644
--- a/src/mongo/db/pipeline/lookup_set_cache.h
+++ b/src/mongo/db/pipeline/lookup_set_cache.h
@@ -40,9 +40,9 @@
#include <vector>
#include "mongo/base/string_data_comparator_interface.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/value.h"
-#include "mongo/db/pipeline/value_comparator.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/lookup_set_cache_test.cpp b/src/mongo/db/pipeline/lookup_set_cache_test.cpp
index ddd2deebc02..c0a2479e01a 100644
--- a/src/mongo/db/pipeline/lookup_set_cache_test.cpp
+++ b/src/mongo/db/pipeline/lookup_set_cache_test.cpp
@@ -34,9 +34,9 @@
#include <vector>
#include "mongo/bson/bsonobjbuilder.h"
-#include "mongo/db/pipeline/document_comparator.h"
+#include "mongo/db/exec/document_value/document_comparator.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/lookup_set_cache.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/db/query/collation/collator_interface_mock.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/mongo_process_interface.h b/src/mongo/db/pipeline/mongo_process_interface.h
index 58958aced64..92f49708c30 100644
--- a/src/mongo/db/pipeline/mongo_process_interface.h
+++ b/src/mongo/db/pipeline/mongo_process_interface.h
@@ -39,15 +39,15 @@
#include "mongo/base/shim.h"
#include "mongo/client/dbclient_base.h"
#include "mongo/db/collection_index_usage_tracker.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/generic_cursor.h"
#include "mongo/db/matcher/expression.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/ops/write_ops_exec.h"
#include "mongo/db/ops/write_ops_parsers.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/field_path.h"
#include "mongo/db/pipeline/lite_parsed_document_source.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/explain_options.h"
#include "mongo/db/repl/oplog_entry.h"
#include "mongo/db/resource_yielder.h"
diff --git a/src/mongo/db/pipeline/parsed_add_fields_test.cpp b/src/mongo/db/pipeline/parsed_add_fields_test.cpp
index e720908b080..318eb84b9ef 100644
--- a/src/mongo/db/pipeline/parsed_add_fields_test.cpp
+++ b/src/mongo/db/pipeline/parsed_add_fields_test.cpp
@@ -36,11 +36,11 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/parsed_aggregation_projection_test.cpp b/src/mongo/db/pipeline/parsed_aggregation_projection_test.cpp
index 2346a2044bf..3f12abac9b5 100644
--- a/src/mongo/db/pipeline/parsed_aggregation_projection_test.cpp
+++ b/src/mongo/db/pipeline/parsed_aggregation_projection_test.cpp
@@ -36,10 +36,10 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/json.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/db/pipeline/parsed_inclusion_projection.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/unittest/unittest.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/parsed_exclusion_projection.cpp b/src/mongo/db/pipeline/parsed_exclusion_projection.cpp
index 01b245e455e..e91bff4884c 100644
--- a/src/mongo/db/pipeline/parsed_exclusion_projection.cpp
+++ b/src/mongo/db/pipeline/parsed_exclusion_projection.cpp
@@ -33,9 +33,9 @@
#include <memory>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/field_path.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/parsed_exclusion_projection_test.cpp b/src/mongo/db/pipeline/parsed_exclusion_projection_test.cpp
index bcc3c40a28e..1e1b4b4256e 100644
--- a/src/mongo/db/pipeline/parsed_exclusion_projection_test.cpp
+++ b/src/mongo/db/pipeline/parsed_exclusion_projection_test.cpp
@@ -38,11 +38,11 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/unittest/death_test.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/parsed_find_projection_test.cpp b/src/mongo/db/pipeline/parsed_find_projection_test.cpp
index c07f800578a..971d57221db 100644
--- a/src/mongo/db/pipeline/parsed_find_projection_test.cpp
+++ b/src/mongo/db/pipeline/parsed_find_projection_test.cpp
@@ -29,8 +29,8 @@
#include "mongo/platform/basic.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_find_internal.h"
#include "mongo/db/pipeline/parsed_aggregation_projection.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/parsed_inclusion_projection_test.cpp b/src/mongo/db/pipeline/parsed_inclusion_projection_test.cpp
index 378daaba0e2..6412cbdb15e 100644
--- a/src/mongo/db/pipeline/parsed_inclusion_projection_test.cpp
+++ b/src/mongo/db/pipeline/parsed_inclusion_projection_test.cpp
@@ -36,11 +36,11 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/unittest/death_test.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/pipeline.cpp b/src/mongo/db/pipeline/pipeline.cpp
index c5fdbc032fb..81c9ee10b6b 100644
--- a/src/mongo/db/pipeline/pipeline.cpp
+++ b/src/mongo/db/pipeline/pipeline.cpp
@@ -36,10 +36,10 @@
#include "mongo/base/error_codes.h"
#include "mongo/db/bson/dotted_path_support.h"
#include "mongo/db/catalog/document_validation.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/operation_context.h"
#include "mongo/db/pipeline/accumulator.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/document_source_geo_near.h"
#include "mongo/db/pipeline/document_source_match.h"
diff --git a/src/mongo/db/pipeline/pipeline.h b/src/mongo/db/pipeline/pipeline.h
index 3dc8dc79602..1af188f4b15 100644
--- a/src/mongo/db/pipeline/pipeline.h
+++ b/src/mongo/db/pipeline/pipeline.h
@@ -35,11 +35,11 @@
#include <boost/intrusive_ptr.hpp>
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/exec/plan_stats.h"
#include "mongo/db/matcher/expression_parser.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/explain_options.h"
#include "mongo/db/query/query_knobs_gen.h"
#include "mongo/executor/task_executor.h"
diff --git a/src/mongo/db/pipeline/pipeline_test.cpp b/src/mongo/db/pipeline/pipeline_test.cpp
index 18e149ab0c1..24f6eaf11f8 100644
--- a/src/mongo/db/pipeline/pipeline_test.cpp
+++ b/src/mongo/db/pipeline/pipeline_test.cpp
@@ -33,10 +33,11 @@
#include <string>
#include <vector>
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/operation_context_noop.h"
#include "mongo/db/pipeline/aggregation_context_fixture.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/document_source_change_stream.h"
#include "mongo/db/pipeline/document_source_facet.h"
@@ -50,7 +51,6 @@
#include "mongo/db/pipeline/document_source_project.h"
#include "mongo/db/pipeline/document_source_sort.h"
#include "mongo/db/pipeline/document_source_test_optimizations.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/db/pipeline/field_path.h"
#include "mongo/db/pipeline/pipeline.h"
diff --git a/src/mongo/db/pipeline/resume_token.cpp b/src/mongo/db/pipeline/resume_token.cpp
index bc9787c4d92..e6b876769f7 100644
--- a/src/mongo/db/pipeline/resume_token.cpp
+++ b/src/mongo/db/pipeline/resume_token.cpp
@@ -36,8 +36,8 @@
#include "mongo/bson/bsonmisc.h"
#include "mongo/bson/bsonobjbuilder.h"
+#include "mongo/db/exec/document_value/value_comparator.h"
#include "mongo/db/pipeline/document_source_change_stream_gen.h"
-#include "mongo/db/pipeline/value_comparator.h"
#include "mongo/db/storage/key_string.h"
#include "mongo/util/hex.h"
diff --git a/src/mongo/db/pipeline/resume_token.h b/src/mongo/db/pipeline/resume_token.h
index 236b39aa39a..1eda58dec90 100644
--- a/src/mongo/db/pipeline/resume_token.h
+++ b/src/mongo/db/pipeline/resume_token.h
@@ -34,8 +34,8 @@
#include "mongo/base/string_data.h"
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/timestamp.h"
-#include "mongo/db/pipeline/document.h"
-#include "mongo/db/pipeline/value.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/util/uuid.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/resume_token_test.cpp b/src/mongo/db/pipeline/resume_token_test.cpp
index d684e30cc26..fdb83f3700a 100644
--- a/src/mongo/db/pipeline/resume_token_test.cpp
+++ b/src/mongo/db/pipeline/resume_token_test.cpp
@@ -35,7 +35,7 @@
#include <boost/optional/optional_io.hpp>
#include <random>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/document_source_change_stream.h"
#include "mongo/unittest/unittest.h"
#include "mongo/util/hex.h"
diff --git a/src/mongo/db/pipeline/sequential_document_cache.h b/src/mongo/db/pipeline/sequential_document_cache.h
index b59c70412b7..c1707d1beeb 100644
--- a/src/mongo/db/pipeline/sequential_document_cache.h
+++ b/src/mongo/db/pipeline/sequential_document_cache.h
@@ -33,7 +33,7 @@
#include <stddef.h>
#include <vector>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/base/status.h"
diff --git a/src/mongo/db/pipeline/sequential_document_cache_test.cpp b/src/mongo/db/pipeline/sequential_document_cache_test.cpp
index 28bdace5a96..39e8e24abc0 100644
--- a/src/mongo/db/pipeline/sequential_document_cache_test.cpp
+++ b/src/mongo/db/pipeline/sequential_document_cache_test.cpp
@@ -31,7 +31,7 @@
#include "mongo/db/pipeline/sequential_document_cache.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/unittest/death_test.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/pipeline/stub_mongo_process_interface_lookup_single_document.h b/src/mongo/db/pipeline/stub_mongo_process_interface_lookup_single_document.h
index e8f74bc5277..ac2e8f2ca47 100644
--- a/src/mongo/db/pipeline/stub_mongo_process_interface_lookup_single_document.h
+++ b/src/mongo/db/pipeline/stub_mongo_process_interface_lookup_single_document.h
@@ -33,8 +33,8 @@
#include <deque>
#include <vector>
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/exec/shard_filterer.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/pipeline/pipeline.h"
#include "mongo/db/pipeline/stub_mongo_process_interface.h"
diff --git a/src/mongo/db/pipeline/tee_buffer.cpp b/src/mongo/db/pipeline/tee_buffer.cpp
index 9732aee7ac0..1182c040772 100644
--- a/src/mongo/db/pipeline/tee_buffer.cpp
+++ b/src/mongo/db/pipeline/tee_buffer.cpp
@@ -33,7 +33,7 @@
#include <algorithm>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
namespace mongo {
diff --git a/src/mongo/db/pipeline/tee_buffer.h b/src/mongo/db/pipeline/tee_buffer.h
index df7b865bed3..55d5aea136b 100644
--- a/src/mongo/db/pipeline/tee_buffer.h
+++ b/src/mongo/db/pipeline/tee_buffer.h
@@ -33,7 +33,7 @@
#include <boost/intrusive_ptr.hpp>
#include <vector>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/query/query_knobs_gen.h"
#include "mongo/util/intrusive_counter.h"
diff --git a/src/mongo/db/pipeline/tee_buffer_test.cpp b/src/mongo/db/pipeline/tee_buffer_test.cpp
index a83f79e8e74..b19fb45276c 100644
--- a/src/mongo/db/pipeline/tee_buffer_test.cpp
+++ b/src/mongo/db/pipeline/tee_buffer_test.cpp
@@ -31,9 +31,9 @@
#include "mongo/db/pipeline/tee_buffer.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/pipeline/document_source_mock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/unittest/unittest.h"
#include "mongo/util/assert_util.h"
diff --git a/src/mongo/db/pipeline/transformer_interface.h b/src/mongo/db/pipeline/transformer_interface.h
index a51fdf55d72..d82970702b3 100644
--- a/src/mongo/db/pipeline/transformer_interface.h
+++ b/src/mongo/db/pipeline/transformer_interface.h
@@ -29,8 +29,8 @@
#pragma once
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/dependencies.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/document_source.h"
#include "mongo/db/query/explain_options.h"
diff --git a/src/mongo/db/pipeline/value.idl b/src/mongo/db/pipeline/value.idl
index b6276dd9e1b..7c92868e9d0 100644
--- a/src/mongo/db/pipeline/value.idl
+++ b/src/mongo/db/pipeline/value.idl
@@ -29,7 +29,7 @@
global:
cpp_namespace: "mongo"
cpp_includes:
- - "mongo/db/pipeline/value.h"
+ - "mongo/db/exec/document_value/value.h"
types:
Value:
diff --git a/src/mongo/db/pipeline/variables.h b/src/mongo/db/pipeline/variables.h
index 742c5757581..04616a4b232 100644
--- a/src/mongo/db/pipeline/variables.h
+++ b/src/mongo/db/pipeline/variables.h
@@ -31,8 +31,8 @@
#include <memory>
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/operation_context.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/pipeline/runtime_constants_gen.h"
#include "mongo/stdx/unordered_map.h"
#include "mongo/util/string_map.h"
diff --git a/src/mongo/db/query/SConscript b/src/mongo/db/query/SConscript
index 41c8c30b21d..1233bcfc362 100644
--- a/src/mongo/db/query/SConscript
+++ b/src/mongo/db/query/SConscript
@@ -227,7 +227,7 @@ env.Library(
],
LIBDEPS=[
'$BUILD_DIR/mongo/base',
- '$BUILD_DIR/mongo/db/pipeline/document_value',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value',
'$BUILD_DIR/mongo/db/pipeline/expression',
],
)
diff --git a/src/mongo/db/query/projection_parser.cpp b/src/mongo/db/query/projection_parser.cpp
index 1a3f3bc6d57..be6179d4efa 100644
--- a/src/mongo/db/query/projection_parser.cpp
+++ b/src/mongo/db/query/projection_parser.cpp
@@ -30,7 +30,7 @@
#include "mongo/db/query/projection_parser.h"
#include "mongo/base/exact_cast.h"
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
namespace mongo {
namespace projection_ast {
diff --git a/src/mongo/db/query/sort_pattern.h b/src/mongo/db/query/sort_pattern.h
index aa5c36d166d..e93740aef33 100644
--- a/src/mongo/db/query/sort_pattern.h
+++ b/src/mongo/db/query/sort_pattern.h
@@ -30,7 +30,7 @@
#include <vector>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/pipeline/document_path_support.h"
#include "mongo/db/pipeline/expression.h"
diff --git a/src/mongo/db/repl/SConscript b/src/mongo/db/repl/SConscript
index 5da88d7a47b..ae9b95ab902 100644
--- a/src/mongo/db/repl/SConscript
+++ b/src/mongo/db/repl/SConscript
@@ -608,7 +608,7 @@ env.Library(
LIBDEPS=[
'$BUILD_DIR/mongo/base',
'$BUILD_DIR/mongo/db/common',
- '$BUILD_DIR/mongo/db/pipeline/document_value'
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value'
],
)
diff --git a/src/mongo/db/repl/idempotency_document_structure.cpp b/src/mongo/db/repl/idempotency_document_structure.cpp
index 84190edead9..c7869737779 100644
--- a/src/mongo/db/repl/idempotency_document_structure.cpp
+++ b/src/mongo/db/repl/idempotency_document_structure.cpp
@@ -31,8 +31,8 @@
#include "mongo/db/repl/idempotency_document_structure.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/value.h"
namespace mongo {
diff --git a/src/mongo/db/repl/idempotency_scalar_generator.cpp b/src/mongo/db/repl/idempotency_scalar_generator.cpp
index 32819281020..17c13c6a5a3 100644
--- a/src/mongo/db/repl/idempotency_scalar_generator.cpp
+++ b/src/mongo/db/repl/idempotency_scalar_generator.cpp
@@ -35,7 +35,7 @@
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
-#include "mongo/db/pipeline/value.h"
+#include "mongo/db/exec/document_value/value.h"
namespace mongo {
diff --git a/src/mongo/db/repl/idempotency_update_sequence.cpp b/src/mongo/db/repl/idempotency_update_sequence.cpp
index 7a87edffbe6..8394fbd74b7 100644
--- a/src/mongo/db/repl/idempotency_update_sequence.cpp
+++ b/src/mongo/db/repl/idempotency_update_sequence.cpp
@@ -34,9 +34,9 @@
#include <algorithm>
#include <memory>
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/field_ref.h"
#include "mongo/db/jsobj.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/repl/idempotency_document_structure.h"
namespace mongo {
diff --git a/src/mongo/db/storage/backup_cursor_state.h b/src/mongo/db/storage/backup_cursor_state.h
index 4f880fdafd7..8ad31bf8288 100644
--- a/src/mongo/db/storage/backup_cursor_state.h
+++ b/src/mongo/db/storage/backup_cursor_state.h
@@ -33,7 +33,7 @@
#include <string>
#include <vector>
-#include "mongo/db/pipeline/document.h"
+#include "mongo/db/exec/document_value/document.h"
namespace mongo {
diff --git a/src/mongo/db/update/SConscript b/src/mongo/db/update/SConscript
index 668a6c2f96e..2dc99fd8716 100644
--- a/src/mongo/db/update/SConscript
+++ b/src/mongo/db/update/SConscript
@@ -99,9 +99,9 @@ env.CppUnitTest(
LIBDEPS=[
'$BUILD_DIR/mongo/bson/mutable/mutable_bson',
'$BUILD_DIR/mongo/bson/mutable/mutable_bson_test_utils',
+ '$BUILD_DIR/mongo/db/exec/document_value/document_value_test_util',
'$BUILD_DIR/mongo/db/logical_clock',
'$BUILD_DIR/mongo/db/matcher/expressions',
- '$BUILD_DIR/mongo/db/pipeline/document_value_test_util',
'$BUILD_DIR/mongo/db/query/collation/collator_interface_mock',
'$BUILD_DIR/mongo/db/query/query_planner',
'$BUILD_DIR/mongo/db/query/query_test_service_context',
diff --git a/src/mongo/db/update/pipeline_executor_test.cpp b/src/mongo/db/update/pipeline_executor_test.cpp
index 1c5c4297485..f47e0c8909f 100644
--- a/src/mongo/db/update/pipeline_executor_test.cpp
+++ b/src/mongo/db/update/pipeline_executor_test.cpp
@@ -33,9 +33,9 @@
#include "mongo/bson/mutable/algorithm.h"
#include "mongo/bson/mutable/mutable_bson_test_utils.h"
+#include "mongo/db/exec/document_value/document_value_test_util.h"
#include "mongo/db/json.h"
#include "mongo/db/logical_clock.h"
-#include "mongo/db/pipeline/document_value_test_util.h"
#include "mongo/db/pipeline/expression_context_for_test.h"
#include "mongo/db/update/update_node_test_fixture.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/update/update_driver.h b/src/mongo/db/update/update_driver.h
index f4ef497840e..df549a01c8d 100644
--- a/src/mongo/db/update/update_driver.h
+++ b/src/mongo/db/update/update_driver.h
@@ -35,11 +35,11 @@
#include "mongo/base/owned_pointer_vector.h"
#include "mongo/base/status.h"
#include "mongo/bson/mutable/document.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/field_ref_set.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/ops/write_ops_parsers.h"
#include "mongo/db/pipeline/pipeline.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/query/canonical_query.h"
#include "mongo/db/update/modifier_table.h"
#include "mongo/db/update/object_replace_executor.h"
diff --git a/src/mongo/db/update/update_executor.h b/src/mongo/db/update/update_executor.h
index f7548b5b155..c1143a97f43 100644
--- a/src/mongo/db/update/update_executor.h
+++ b/src/mongo/db/update/update_executor.h
@@ -30,8 +30,8 @@
#pragma once
#include "mongo/bson/mutable/element.h"
+#include "mongo/db/exec/document_value/value.h"
#include "mongo/db/field_ref_set.h"
-#include "mongo/db/pipeline/value.h"
#include "mongo/db/update/log_builder.h"
#include "mongo/db/update/update_node_visitor.h"
#include "mongo/db/update_index_data.h"
diff --git a/src/mongo/db/views/resolved_view_test.cpp b/src/mongo/db/views/resolved_view_test.cpp
index 0273c5319c5..a3a60d9e102 100644
--- a/src/mongo/db/views/resolved_view_test.cpp
+++ b/src/mongo/db/views/resolved_view_test.cpp
@@ -35,9 +35,9 @@
#include "mongo/bson/bsonobj.h"
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/bson/json.h"
+#include "mongo/db/exec/document_value/document.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/pipeline/aggregation_request.h"
-#include "mongo/db/pipeline/document.h"
#include "mongo/db/views/resolved_view.h"
#include "mongo/rpc/get_status_from_command_result.h"
#include "mongo/unittest/unittest.h"