summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/query_shape.cpp
diff options
context:
space:
mode:
authorJess Balint <jbalint@gmail.com>2023-02-23 22:59:47 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-02-24 05:30:37 +0000
commit7c793c6e717490b64bfd08dfccddc65567e94824 (patch)
treea0da99a3fb399e29f8a24cdb229899c07c2879b3 /src/mongo/db/query/query_shape.cpp
parent3b0428bc373dc939cd156ca7fc5cdd4409a71534 (diff)
downloadmongo-7c793c6e717490b64bfd08dfccddc65567e94824.tar.gz
SERVER-73663 Field name redaction for LeafMatchExpressions #10765
SERVER-73676 Query shape (literal redaction) for leftover non-leaf MatchExpressions, pt. 2
Diffstat (limited to 'src/mongo/db/query/query_shape.cpp')
-rw-r--r--src/mongo/db/query/query_shape.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/query/query_shape.cpp b/src/mongo/db/query/query_shape.cpp
index cc6829a72f4..fcfe0cb361e 100644
--- a/src/mongo/db/query/query_shape.cpp
+++ b/src/mongo/db/query/query_shape.cpp
@@ -36,4 +36,14 @@ BSONObj predicateShape(const MatchExpression* predicate) {
opts.replacementForLiteralArgs = kLiteralArgString;
return predicate->serialize(opts);
}
+
+BSONObj predicateShape(const MatchExpression* predicate,
+ std::function<std::string(StringData)> redactFieldNamesStrategy) {
+ SerializationOptions opts;
+ opts.replacementForLiteralArgs = kLiteralArgString;
+ opts.redactFieldNamesStrategy = redactFieldNamesStrategy;
+ opts.redactFieldNames = true;
+ return predicate->serialize(opts);
+}
+
} // namespace mongo::query_shape