summaryrefslogtreecommitdiff
path: root/src/mongo/db/ops/insert.cpp
diff options
context:
space:
mode:
authorGregory Wlodarek <gregory.wlodarek@mongodb.com>2019-08-29 16:14:46 +0000
committerevergreen <evergreen@mongodb.com>2019-08-29 16:14:46 +0000
commit7277c7c1f6e7c2e4067e2acb566e573ac88bb653 (patch)
treebf492659c98f11a6a4d993dca8b4a297a8e23a68 /src/mongo/db/ops/insert.cpp
parent97664efdebee2cf2039a0acd8e4ebf0c4045d699 (diff)
downloadmongo-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.cpp10
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");