-
Type: Spec Change
-
Resolution: Unresolved
-
Priority: Unknown
-
None
-
Component/s: Client Side Encryption
-
None
-
Needed
-
Summary
EncryptOpts currently defines the queryType option as an enum. Drivers should change the option to accept a string value, which would more easily allow for forward compatibility (a libmongocrypt version bump would likely be required, but drivers would not necessarily need to be changed).
This would be similar to what is done for Read Concern level, where drivers provide an enum but also accept string values for forward compatibility.
This would depend on MONGOCRYPT-441, which would change libmongocrypt to accept a string value.
Ideally, the string value accepted for queryType should be consistent with the queryType option accepted by the server in an encryptedFields document. Then, users could utilize the same constant defined by drivers for use with EncryptOpts.
Motivation
Who is the affected end user?
Users of queryable encryption.
How does this affect the end user?
Making the string consistent between encryptedFields and EncryptOpts would be a boon for users.
How likely is it that this problem or use case will occur?
Users may be confused if encryptedFields and EncryptOpts accept different values for the queryType option.
If the problem does occur, what are the consequences and how severe are they?
Immediate error message for an invalid option.
Is this issue urgent?
Ideally before 6.0-compat stable driver releases.
Is this ticket required by a downstream team?
May be relevant to mongosh.
Is this ticket only for tests?
No.
- depends on
-
MONGOCRYPT-441 Accept string values for QueryType and IndexType
- Closed
- split to
-
PHPC-2104 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed
-
CXX-2525 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Backlog
-
CDRIVER-4404 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed
-
CSHARP-4204 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed
-
GODRIVER-2454 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed
-
JAVA-4643 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed
-
MOTOR-976 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed
-
NODE-4303 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed
-
PYTHON-3301 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed
-
RUBY-3024 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed
-
RUST-1361 EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
- Closed