diff options
author | Jess Balint <jbalint@gmail.com> | 2023-02-23 22:59:47 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-02-24 05:30:37 +0000 |
commit | 7c793c6e717490b64bfd08dfccddc65567e94824 (patch) | |
tree | a0da99a3fb399e29f8a24cdb229899c07c2879b3 /src/mongo/db/query/query_shape.cpp | |
parent | 3b0428bc373dc939cd156ca7fc5cdd4409a71534 (diff) | |
download | mongo-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.cpp | 10 |
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 |