Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-88288

Make hashing function of ExpressionFieldPath consistent with its comparison function.

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Query Optimization
    • Fully Compatible
    • ALL
    • 100

      ExpressionFieldPath::serialize which is used for comparison does not take into account variableId, while its hash function does use variableId to compute its hash.
      As a result two identical expressions which define the same variables using `let` sub expression can have different hash values just because their variableId fields are different.

            Assignee:
            alexander.ignatyev@mongodb.com Alexander Ignatyev
            Reporter:
            alexander.ignatyev@mongodb.com Alexander Ignatyev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: