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

Add a variant of map() that accepts a bitmask

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

      This variant can wrap the calls to op.processBlock so that it works on contiguous items that are selected by the bitmask, e.g.

      while (cursor < end) {
        while (cursor < end && !bitmap[cursor]) cursor++; 
        if (cursor < end) {
           size_t chunkEnd = cursor+1;
           while (chunkEnd < end && bitmap[chunkEnd]) chunkEnd++;
           op.processBatch(..., vals.data()+cursor, chunkEnd - cursor);
           cursor = chunkEnd;
        }
      }
      

      After that API is in place, the current implementation of the mathematical expressions can reuse it

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            alberto.massari@mongodb.com Alberto Massari
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: