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/matcher/expression_text_base.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/matcher/expression_text_base.cpp')
-rw-r--r-- | src/mongo/db/matcher/expression_text_base.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/mongo/db/matcher/expression_text_base.cpp b/src/mongo/db/matcher/expression_text_base.cpp index 68af83a2932..b5c3825c679 100644 --- a/src/mongo/db/matcher/expression_text_base.cpp +++ b/src/mongo/db/matcher/expression_text_base.cpp @@ -57,12 +57,19 @@ void TextMatchExpressionBase::debugString(StringBuilder& debug, int indentationL } void TextMatchExpressionBase::serialize(BSONObjBuilder* out, SerializationOptions opts) const { - // TODO support 'opts' const fts::FTSQuery& ftsQuery = getFTSQuery(); - out->append("$text", - BSON("$search" << ftsQuery.getQuery() << "$language" << ftsQuery.getLanguage() - << "$caseSensitive" << ftsQuery.getCaseSensitive() - << "$diacriticSensitive" << ftsQuery.getDiacriticSensitive())); + if (opts.replacementForLiteralArgs) { + out->append("$text", + BSON("$search" << *opts.replacementForLiteralArgs << "$language" + << *opts.replacementForLiteralArgs << "$caseSensitive" + << *opts.replacementForLiteralArgs << "$diacriticSensitive" + << *opts.replacementForLiteralArgs)); + } else { + out->append("$text", + BSON("$search" << ftsQuery.getQuery() << "$language" << ftsQuery.getLanguage() + << "$caseSensitive" << ftsQuery.getCaseSensitive() + << "$diacriticSensitive" << ftsQuery.getDiacriticSensitive())); + } } bool TextMatchExpressionBase::equivalent(const MatchExpression* other) const { |