summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/aggregation_request_helper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/pipeline/aggregation_request_helper.cpp')
-rw-r--r--src/mongo/db/pipeline/aggregation_request_helper.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/mongo/db/pipeline/aggregation_request_helper.cpp b/src/mongo/db/pipeline/aggregation_request_helper.cpp
index 589353fcdc7..c66e501833c 100644
--- a/src/mongo/db/pipeline/aggregation_request_helper.cpp
+++ b/src/mongo/db/pipeline/aggregation_request_helper.cpp
@@ -58,8 +58,10 @@ AggregateCommandRequest parseFromBSON(OperationContext* opCtx,
const DatabaseName& dbName,
const BSONObj& cmdObj,
boost::optional<ExplainOptions::Verbosity> explainVerbosity,
- bool apiStrict) {
- return parseFromBSON(opCtx, parseNs(dbName, cmdObj), cmdObj, explainVerbosity, apiStrict);
+ bool apiStrict,
+ const SerializationContext& serializationContext) {
+ return parseFromBSON(
+ opCtx, parseNs(dbName, cmdObj), cmdObj, explainVerbosity, apiStrict, serializationContext);
}
StatusWith<AggregateCommandRequest> parseFromBSONForTests(
@@ -68,7 +70,8 @@ StatusWith<AggregateCommandRequest> parseFromBSONForTests(
boost::optional<ExplainOptions::Verbosity> explainVerbosity,
bool apiStrict) {
try {
- return parseFromBSON(/*opCtx=*/nullptr, nss, cmdObj, explainVerbosity, apiStrict);
+ return parseFromBSON(
+ /*opCtx=*/nullptr, nss, cmdObj, explainVerbosity, apiStrict, SerializationContext());
} catch (const AssertionException&) {
return exceptionToStatus();
}
@@ -80,8 +83,9 @@ StatusWith<AggregateCommandRequest> parseFromBSONForTests(
boost::optional<ExplainOptions::Verbosity> explainVerbosity,
bool apiStrict) {
try {
+ // TODO SERVER-75930: pass serializationContext in
return parseFromBSON(
- /*opCtx=*/nullptr, dbName, cmdObj, explainVerbosity, apiStrict);
+ /*opCtx=*/nullptr, dbName, cmdObj, explainVerbosity, apiStrict, SerializationContext());
} catch (const AssertionException&) {
return exceptionToStatus();
}
@@ -91,7 +95,8 @@ AggregateCommandRequest parseFromBSON(OperationContext* opCtx,
NamespaceString nss,
const BSONObj& cmdObj,
boost::optional<ExplainOptions::Verbosity> explainVerbosity,
- bool apiStrict) {
+ bool apiStrict,
+ const SerializationContext& serializationContext) {
// if the command object lacks field 'aggregate' or '$db', we will use the namespace in 'nss'.
bool cmdObjChanged = false;
@@ -104,9 +109,11 @@ AggregateCommandRequest parseFromBSON(OperationContext* opCtx,
}
AggregateCommandRequest request(nss);
- request =
- AggregateCommandRequest::parse(IDLParserContext("aggregate", apiStrict, nss.tenantId()),
- cmdObjChanged ? cmdObjBob.obj() : cmdObj);
+ // TODO SERVER-75930: tenantId in VTS isn't properly detected by call to parse(IDLParseContext&,
+ // BSONObj&)
+ request = AggregateCommandRequest::parse(
+ IDLParserContext("aggregate", apiStrict, nss.tenantId(), serializationContext),
+ cmdObjChanged ? cmdObjBob.obj() : cmdObj);
if (explainVerbosity) {
uassert(ErrorCodes::FailedToParse,