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

Refactor decompressGeneral() to push materialization into DecodingState

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration

      Currently there are a lot of branches that occur per-element for decompressGeneral() which handles decompression of interleaved data when we need to materialize objects (or scalar fields that must be interleaved in the output due to arrays and "traverse" paths).

      We could avoid a lot of this branching if we pushed materialization into the DecodeState nested class, and avoid excess switching on the data type of elements. Additionally, we could remove the Elem variant type altogether, which would simplify things a lot.

      It might make sense to start this work after the dust has settled from the fix for SERVER-87339, which will affect how reference object traversal works.

            Assignee:
            Unassigned Unassigned
            Reporter:
            chris.wolff@mongodb.com Chris Wolff
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: