diff options
author | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2022-02-07 10:22:05 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-02-09 20:10:05 +0000 |
commit | 7fabf68464b333a5ff269ce8386dfbbd9ab49ac8 (patch) | |
tree | a406dde55b1bdacfe0734dadf0f281581a6beb03 /src/mongo/bson | |
parent | c6e6615a5d4ead5afe5e961dbb7dc5998153ff60 (diff) | |
download | mongo-7fabf68464b333a5ff269ce8386dfbbd9ab49ac8.tar.gz |
SERVER-63384 Add support for encrypted fields to create collectionr5.3.0-alpha4
Diffstat (limited to 'src/mongo/bson')
-rw-r--r-- | src/mongo/bson/bsontypes.cpp | 10 | ||||
-rw-r--r-- | src/mongo/bson/bsontypes.h | 6 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/mongo/bson/bsontypes.cpp b/src/mongo/bson/bsontypes.cpp index 59fb2abba96..8be3c5e1d04 100644 --- a/src/mongo/bson/bsontypes.cpp +++ b/src/mongo/bson/bsontypes.cpp @@ -137,6 +137,16 @@ BSONType typeFromName(StringData name) { return *typeAlias; } +Status isValidBSONTypeName(StringData typeName) { + try { + typeFromName(typeName); + } catch (const ExceptionFor<ErrorCodes::BadValue>& ex) { + return ex.toStatus(); + } + + return Status::OK(); +} + std::ostream& operator<<(std::ostream& stream, BSONType type) { return stream << typeName(type); } diff --git a/src/mongo/bson/bsontypes.h b/src/mongo/bson/bsontypes.h index 3463285f636..0dc2fe8a4ab 100644 --- a/src/mongo/bson/bsontypes.h +++ b/src/mongo/bson/bsontypes.h @@ -135,6 +135,12 @@ std::ostream& operator<<(std::ostream& stream, BSONType type); */ bool isValidBSONType(int type); +/** + * IDL callback validator + */ +Status isValidBSONTypeName(StringData typeName); + + inline bool isNumericBSONType(BSONType type) { switch (type) { case NumberDouble: |