summaryrefslogtreecommitdiff
path: root/src/mongo/db/index/SConscript
diff options
context:
space:
mode:
authorADAM David Alan Martin <adam.martin@10gen.com>2017-04-07 13:52:10 -0400
committerADAM David Alan Martin <adam.martin@10gen.com>2017-04-07 13:52:10 -0400
commit0609c4c9b296e0b036ee7eecf1eea39ebbf1b6a7 (patch)
tree0bfe9b081c26de157409787244d2d86248b3634c /src/mongo/db/index/SConscript
parentbe8c1836d79e224ef27d4c4768319cc3c0a275c6 (diff)
downloadmongo-0609c4c9b296e0b036ee7eecf1eea39ebbf1b6a7.tar.gz
SERVER-28600 Slice `catalog/collection` cycles.
The `Collection` class is a big part of the circular dependencies into `catalog`. A simple vtable slice is insufficient -- it was also necessary to alter the constructors of some of the other types, to allow them to properly self-initialize. The `Collection` class's header also exposed a few static and free functions that needed slicing as well. These slices were done using local `stdx::function` objects in the `collection.cpp` TU and creating registration functions to facilitate dependency injection.
Diffstat (limited to 'src/mongo/db/index/SConscript')
-rw-r--r--src/mongo/db/index/SConscript1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mongo/db/index/SConscript b/src/mongo/db/index/SConscript
index 5e25eca159c..92edf813f18 100644
--- a/src/mongo/db/index/SConscript
+++ b/src/mongo/db/index/SConscript
@@ -93,6 +93,7 @@ serveronlyEnv.Library(
],
LIBDEPS=[
'$BUILD_DIR/mongo/base',
+ '$BUILD_DIR/mongo/db/catalog/collection',
'$BUILD_DIR/mongo/db/catalog/index_catalog_entry',
'$BUILD_DIR/mongo/db/concurrency/write_conflict_exception',
'$BUILD_DIR/mongo/db/storage/storage_options',