-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
Create a visitor derived from MatchExpressionConstVisitor and define the callbacks for all the MatchExpression-derived classes that define matchesSingleElement
- AlwaysBooleanMatchExpression
- ArrayMatchingMatchExpression
- GeoMatchExpression
- GeoNearMatchExpression
- TwoDPtInAnnulusExpression
- InternalBucketGeoWithinMatchExpression
- InternalEqHashedKey
- InternalExprComparisonMatchExpression
- ComparisonMatchExpression
- RegexMatchExpression
- ModMatchExpression
- ExistsMatchExpression
- InMatchExpression
- BitTestMatchExpression
- AndMatchExpression
- OrMatchExpression
- NorMatchExpression
- NotMatchExpression
- TypeMatchExpressionBase
- InternalSchemaAllowedPropertiesMatchExpression
- InternalSchemaBinDataSubTypeExpression
- InternalSchemaBinDataEncryptedTypeExpression
- InternalSchemaBinDataFLE2EncryptedTypeExpression
- InternalSchemaCondMatchExpression
- InternalSchemaEqMatchExpression
- InternalSchemaFmodMatchExpression
- InternalSchemaMaxPropertiesMatchExpression
- InternalSchemaMinPropertiesMatchExpression
- InternalSchemaObjectMatchExpression
- InternalSchemaRootDocEqMatchExpression
- InternalSchemaStrLengthMatchExpression
- InternalSchemaXorMatchExpression
- TextMatchExpression
- TextNoOpMatchExpressionÂ
- WhereMatchExpressionBase
The new files should be in the src/mongo/db/exec/matcher folder, using the mongo::exec::matcher namespace and split the callbacks into separate cpp files (e.g. Text, Where, Geo as they are owned by QI, but also FLE and InternalSchema)
- has to be done before
-
SERVER-97137 Change matchesSingleElement to use walker-based implementation
- Closed
- is related to
-
SERVER-97141 Create walker-based implementation of matches()
- Closed