summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp
index 35493f0307c..88442a40711 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp
@@ -39,6 +39,7 @@
#include "mongo/db/json.h"
#include "mongo/db/catalog/index_catalog_entry.h"
#include "mongo/db/index/index_descriptor.h"
+#include "mongo/db/storage/wiredtiger/wiredtiger_global_options.h"
#include "mongo/db/storage/wiredtiger/wiredtiger_record_store.h"
#include "mongo/db/storage/wiredtiger/wiredtiger_session_cache.h"
#include "mongo/db/storage/wiredtiger/wiredtiger_util.h"
@@ -150,7 +151,7 @@ namespace {
const WT_ITEM *b,
int *cmp) {
- try {
+ try {
WiredTigerIndexCollator *c = static_cast<WiredTigerIndexCollator *>(coll);
*cmp = c->Compare(s, a, b);
return 0;
@@ -283,8 +284,21 @@ namespace {
// Separate out a prefix and suffix in the default string. User configuration will
// override values in the prefix, but not values in the suffix.
- ss << "type=file,leaf_page_max=16k,prefix_compression,";
+ ss << "type=file,leaf_page_max=16k,";
+ if (wiredTigerGlobalOptions.useIndexPrefixCompression) {
+ ss << "prefix_compression,";
+ }
+ // TODO: remove this; SERVER-16568
+ std::string localIndexBlockCompressor;
+ if (wiredTigerGlobalOptions.indexBlockCompressor == "none") {
+ localIndexBlockCompressor = "";
+ }
+ else {
+ localIndexBlockCompressor = wiredTigerGlobalOptions.indexBlockCompressor;
+ }
+
+ ss << "block_compressor=" << localIndexBlockCompressor << ",";
ss << extraConfig;
// Validate configuration object.
@@ -316,7 +330,7 @@ namespace {
<< "infoObj=" << desc.infoObj().jsonString()
<< "),";
-
+ LOG(3) << "index create string: " << ss.ss.str();
return StatusWith<std::string>(ss);
}