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

[CQF] Unify semantics of comparison operators in ABT

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • QO 2023-11-13

      Currently comparison Operations are used in Paths and Expressions. In the former, their semantics are non type-bracketing, whereas in the latter their semantics are type-bracketing. This mismatch causes confusion and makes many rewrites difficult to reason about, for example, interval intersection and constant folding. After discussion with the QO team, the decision was to change the semantics of Expressions to also be non type-bracketing as was originally intended in the design of these structures.

      One problem is that the SBE stage builders have a dependency on ABT for constant folding and lowering. It appears that they use these structures with the assumption of Expressions having type-bracketing semantics, so changing this might cause breakages on master. Part of the task of this ticket would be to investigate the SBE stage builders dependency on ABT and address it.

            Assignee:
            ben.shteinfeld@mongodb.com Ben Shteinfeld
            Reporter:
            ben.shteinfeld@mongodb.com Ben Shteinfeld
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: