summaryrefslogtreecommitdiff
path: root/src/mongo/db/query
diff options
context:
space:
mode:
authorDrew Paroski <drew.paroski@mongodb.com>2022-01-13 22:07:55 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-02-02 21:26:56 +0000
commitc50744d17ab860d890140d22a1a2a07fd7efd3ea (patch)
treecffde5b9ab1b51c73fb3a32143ad2cfce72e1f98 /src/mongo/db/query
parent6b74d91648e6bacf446aeb84a56fda9bc60df90b (diff)
downloadmongo-c50744d17ab860d890140d22a1a2a07fd7efd3ea.tar.gz
SERVER-62502 Add ABT support for EFail and ENumericConvert
Diffstat (limited to 'src/mongo/db/query')
-rw-r--r--src/mongo/db/query/optimizer/syntax/expr.cpp8
-rw-r--r--src/mongo/db/query/optimizer/syntax/expr.h3
2 files changed, 11 insertions, 0 deletions
diff --git a/src/mongo/db/query/optimizer/syntax/expr.cpp b/src/mongo/db/query/optimizer/syntax/expr.cpp
index 1dcd85de61a..ab79bd69115 100644
--- a/src/mongo/db/query/optimizer/syntax/expr.cpp
+++ b/src/mongo/db/query/optimizer/syntax/expr.cpp
@@ -107,6 +107,14 @@ bool Constant::operator==(const Constant& other) const {
return sbe::value::bitcastTo<int32_t>(compareVal) == 0;
}
+bool Constant::isString() const {
+ return sbe::value::isString(_tag);
+}
+
+StringData Constant::getString() const {
+ return getStringView(_tag, _val);
+}
+
bool Constant::isValueInt64() const {
return _tag == TypeTags::NumberInt64;
}
diff --git a/src/mongo/db/query/optimizer/syntax/expr.h b/src/mongo/db/query/optimizer/syntax/expr.h
index a795625d59c..636cf75fda7 100644
--- a/src/mongo/db/query/optimizer/syntax/expr.h
+++ b/src/mongo/db/query/optimizer/syntax/expr.h
@@ -69,6 +69,9 @@ public:
return std::pair{_tag, _val};
}
+ bool isString() const;
+ StringData getString() const;
+
bool isValueInt64() const;
int64_t getValueInt64() const;