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

Support unowned keys in the SortedDataInterface in all paths

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • Execution Team 2024-04-29, Execution Team 2024-10-14, Execution Team 2024-10-28, Execution Team 2024-11-11, Execution Team 2024-11-25, Execution Team 2024-12-09, Execution Team 2024-12-23, Execution Team 2025-01-06

      Instead of key_string::Value, all functions in SortedDataInterface should accept an unowned parameter (preferably SortedDataKeyValueView) that contains the correctly encoded key and value format for the underlying index type.

      Goals:

      • Each index implementation does not have to perform any decoding or re-encoding to insert or remove from the index. All work is done by the caller and all SDI API functions accept an opaque key that is in exactly the right format for inserting, deleting, or seeking.
      • No functions on SortedDataInterface accept a key_string::Value.

      Implementation details:

      • Each SDI exposes an implementation-defined generator that constructs opaque keys given an allocator, BSON, and a RecordId.
      • This generator can generate keys for insertion, deletion, and seeking.

            Assignee:
            thomas.goyne@mongodb.com Thomas Goyne
            Reporter:
            louis.williams@mongodb.com Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: