summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher/expression_text_base.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/matcher/expression_text_base.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/matcher/expression_text_base.cpp')
-rw-r--r--src/mongo/db/matcher/expression_text_base.cpp17
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 {