diff options
author | Gregory Wlodarek <gregory.wlodarek@mongodb.com> | 2019-08-29 16:14:46 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2019-08-29 16:14:46 +0000 |
commit | 7277c7c1f6e7c2e4067e2acb566e573ac88bb653 (patch) | |
tree | bf492659c98f11a6a4d993dca8b4a297a8e23a68 /src/mongo/db/ops/insert.cpp | |
parent | 97664efdebee2cf2039a0acd8e4ebf0c4045d699 (diff) | |
download | mongo-7277c7c1f6e7c2e4067e2acb566e573ac88bb653.tar.gz |
SERVER-41745 Collections with names longer than 120 characters will be gated to FCV v4.4
Diffstat (limited to 'src/mongo/db/ops/insert.cpp')
-rw-r--r-- | src/mongo/db/ops/insert.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/db/ops/insert.cpp b/src/mongo/db/ops/insert.cpp index d0b9debab28..1b053dea4fc 100644 --- a/src/mongo/db/ops/insert.cpp +++ b/src/mongo/db/ops/insert.cpp @@ -33,6 +33,7 @@ #include <vector> #include "mongo/bson/bson_depth.h" +#include "mongo/db/commands/feature_compatibility_version_parser.h" #include "mongo/db/logical_clock.h" #include "mongo/db/logical_time.h" #include "mongo/db/views/durable_view_catalog.h" @@ -202,7 +203,14 @@ Status userAllowedCreateNS(StringData db, StringData coll) { if (!NamespaceString::validCollectionName(coll)) return Status(ErrorCodes::InvalidNamespace, "invalid collection name"); - // check spceial areas + if (!NamespaceString(db, coll).checkLengthForFCV()) + return Status(ErrorCodes::IncompatibleServerVersion, + str::stream() << "Cannot create collection with a long name " << db << "." + << coll << " - upgrade to feature compatibility version " + << FeatureCompatibilityVersionParser::kVersion44 + << " to be able to do so."); + + // check special areas if (db == "system") return Status(ErrorCodes::InvalidNamespace, "cannot use 'system' database"); |