summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/mmap_v1/record_store_v1_base.cpp
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2015-02-17 18:20:42 -0500
committerMathias Stearn <mathias@10gen.com>2015-02-19 19:55:44 -0500
commitae18bbec33db1c4bf57d328505474eb7bba517df (patch)
treed40f788493b48acc2d65e1c002ce4adf41e0313f /src/mongo/db/storage/mmap_v1/record_store_v1_base.cpp
parent30d9e17410a3dec85ca2a148c745a6b8f9a8ecd0 (diff)
downloadmongo-ae18bbec33db1c4bf57d328505474eb7bba517df.tar.gz
SERVER-17312 collmod command now handles parsing of all arguments
For the two currently supported engine-specific options, the collmod command will handle parsing the arguments and tell the CollectionCatalogEntry to update it's flags option. This removes the ability of storage engines to have custom options that can be changed after the collection is created. There were issues related to argument validation and replication of changes (including for initial sync). A correct solution will be designed as SERVER-17320.
Diffstat (limited to 'src/mongo/db/storage/mmap_v1/record_store_v1_base.cpp')
-rw-r--r--src/mongo/db/storage/mmap_v1/record_store_v1_base.cpp32
1 files changed, 0 insertions, 32 deletions
diff --git a/src/mongo/db/storage/mmap_v1/record_store_v1_base.cpp b/src/mongo/db/storage/mmap_v1/record_store_v1_base.cpp
index 9ab9dce8dc6..785d4f45b01 100644
--- a/src/mongo/db/storage/mmap_v1/record_store_v1_base.cpp
+++ b/src/mongo/db/storage/mmap_v1/record_store_v1_base.cpp
@@ -968,36 +968,4 @@ namespace mongo {
// extent headers.
invariant(false);
}
-
- Status RecordStoreV1Base::setCustomOption( OperationContext* txn,
- const BSONElement& option,
- BSONObjBuilder* info ) {
- const StringData name = option.fieldNameStringData();
- const int flag = (name == "usePowerOf2Sizes") ? Flag_UsePowerOf2Sizes :
- (name == "noPadding") ? Flag_NoPadding :
- 0;
- if (flag) {
- bool oldSetting = _details->isUserFlagSet(flag);
- bool newSetting = option.trueValue();
-
- if ( oldSetting != newSetting ) {
- // change userFlags
- info->appendBool( name.toString() + "_old", oldSetting );
-
- if ( newSetting )
- _details->setUserFlag( txn, flag );
- else
- _details->clearUserFlag( txn, flag );
-
- invariant(_details->isUserFlagSet(flag) == newSetting);
-
- info->appendBool( name.toString() + "_new", newSetting );
- }
-
- return Status::OK();
- }
-
- return Status( ErrorCodes::InvalidOptions,
- str::stream() << "no such option: " << option.fieldName() );
- }
}