|
Currently, various MQL operators have different argument validation behaviour. For example:
- $bitsAllSet throws FailedToParse when non-integer argument is passed
- $mod truncates the argument to long long value
Various operators regularly cause fuzzer failures because of their parsing logic. For example:
- Special values like NaN and Infinity are not handled in $slice (see
SERVER-56516)
- Rounding behaviour is inconsistent across various data types in $mod (see
SERVER-32960)
We should unify argument validation strategy for various operators to create a consistent user experience.
|