-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
FLEPipeline currently accepts a single encryption schema, as a unique_ptr<EncryptionSchemaTreeNode>. FLEPipeline needs to be modified to accept an EncryptionSchemaMap (i.e map<NamespaceString, EncryptionSchemaTreeNode*>).
We will then need to provide an implementation for propagateSchemaForLookup, which correctly propagates the desired schema for the result of the $lookup "as" array.
As mentioned in the scope and design, we will not support using encrypted fields that are within the "as" array in any operations following the $lookup.
In addition, the following constraints must also be enforced as part of this change:
- Test the following test cases with both CSFLE and QE schemas
- Join fields are both encrypted -> Fail
- Local join field encrypted/foreign join field unencrypted -> Fail
- Local join field unencrypted/Foreign join field encrypted -> fail
- No encrypted fields used as join field -> Succeed
- Test that mixing CSFLE & QE schemas is not supported.
- is related to
-
SERVER-96875 Implement schema propagation for $lookup stage in query analysis (FLE2 schemas)
- Backlog